kr.prashant - Tuesday, June 8, 2010 9:31 AM:
I'm using an open source tool 'SoapUI 3.5' to test a web service which I created using Innovator user interface. SoapUI creates soap envelopes based on the service description(WSDL) and generates soap envelopes for each request.
Below is the soap envelope created by tool and response from Innovator server. As evident, the request fails on authentication and I'm not sure which http headers(I set headers from the sample vbscript in programmer's guide) to set to make it right.
Soap request:(to add a part in Innovator)
~~~~~~~~~~
POST plm-test/.../Innovator.asmx HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="www.aras.com/AddPart"
AUTHUSER: admin
DATABASE: InnovatorSolutions
SOAPaction: http://www.aras.com/AddPart
AUTHPASSWORD: innovator
User-Agent: Jakarta Commons-HttpClient/3.1
Host: plm-test
Content-Length: 736
<soap:Envelope xmlns:soap="www.w3.org/.../soap-envelope" xmlns:aras="http://www.aras.com/">
<soap:Header/>
<soap:Body>
<aras:AddPart>
<!--Optional:-->
<aras:request>
<aras:Name>WS Item</aras:Name>
<aras:Make_buy>M</aras:Make_buy>
<aras:Cost_basis>C</aras:Cost_basis>
<aras:Weight>2.4</aras:Weight>
<aras:Item_number>WS00001</aras:Item_number>
<aras:Weight_basis>Q</aras:Weight_basis>
<aras:Id></aras:Id>
<aras:Cost>2.3</aras:Cost>
<aras:Description>5</aras:Description>
<aras:Unit>EA</aras:Unit>
</aras:request>
</aras:AddPart>
</soap:Body>
</soap:Envelope>
~~~~~~~~~~
HTTP Response:
~~~~~~~~~~
HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Type: application/soap+xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Tue, 08 Jun 2010 00:35:01 GMT
Content-Length: 497
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="www.w3.org/.../soap-envelope" xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../soap:Code><soap:Reason><soap:Text xml:lang="en">Server was unable to process request. ---> ERROR: You are not logged in to Innovator.</soap:Text></soap:Reason><soap:Detail /></soap:Fault></soap:Body></soap:Envelope>
~~~~~~~~~~
However, the logOn request in the same web service gives the expected response, so I'm sure that web service is working properly.
Soap request:
~~~~~~~~~~
POST plm-test/.../Innovator.asmx HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="www.aras.com/LogOn"
User-Agent: Jakarta Commons-HttpClient/3.1
Host: plm-test
Content-Length: 495
<soap:Envelope xmlns:soap="www.w3.org/.../soap-envelope" xmlns:aras="http://www.aras.com/">
<soap:Header/>
<soap:Body>
<aras:LogOn>
<!--Optional:-->
<aras:userName>admin</aras:userName>
<!--Optional:-->
<aras:userPassword>innovator</aras:userPassword>
<!--Optional:-->
<aras:locale>?</aras:locale>
<!--Optional:-->
<aras:timeZone>?</aras:timeZone>
</aras:LogOn>
</soap:Body>
</soap:Envelope>
~~~~~~~~~~
HTTP Response:
~~~~~~~~~~
<soap:Envelope xmlns:soap="www.w3.org/.../soap-envelope" xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema">
<soap:Body>
<LogOnResponse xmlns="www.aras.com/.../>
</soap:Body>
</soap:Envelope>
~~~~~~~~~~
I have tested this web service with a C# standalone utility and it works fine, but I need the soap envelopes which works.
Thanks,
Prashant.
PeterSchroer - Tuesday, June 8, 2010 10:06 AM:
Make sure the AUTHPASSWORD value you are sending is encrypted. The server is expecting that all passwords are one-way hash encrypted on the client, so that we do not send clear text passwords over the web.
In your example, I see "innovator" as the password, but this might just be your example, not the code you are running.
kr.prashant - Tuesday, June 8, 2010 11:52 AM:
Yes Peter! Thanks for your response.
I have used MD5 equivalent of string 'innovator' as well i.e '607920b64fe136f9ab2389e371852af2'. I still get the same response from the service. I looked into the logs, but none of them were helpful.
Do you recommend exploring any particular file, logs etc?
Prashant.
Chaitali - Friday, February 10, 2012 12:56 AM:
Hi Peter,
I am consuming aras web service in java client. But the java client is giving error "You are not logged in innovator".I have converted my password to MD5.
I have stuck at this point for quite a while.
kr.prashant - Thursday, June 10, 2010 11:10 AM:
Thank you! We got it resolved in our program and were able to consume innovator web service successfully.
I would like to close it as SoapUI issue, or perhaps our understanding of the tool is limited.
jesse - Friday, April 13, 2012 4:17 AM:
I have a similar problem with Chaitali. First, I call aras web service that parts of logon is success, and then I call ApplyAml that has a error mesage " You are not logged in innovator" .
I have been logon successfully at first stage , for what reason occur the error.
anupamde - Wednesday, August 24, 2011 6:48 AM:
Hi,
I have been facing the same problem of 'You are not logged in to Innovator' when I send a request from my java client program. The same code works for the LogOn service though and I am able to get a response from the server properly. This is the code snippet I used for GetPart operation -
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL("localhost/.../innovator.asmx"));
call.setSOAPActionURI("http://www.aras.com/GetPart");
call.setOperationName(new QName("","GetPart"));
call.setUsername("admin");
call.setPassword("innovator");
But it seems it does not authenticate when I send the credentials in this fashion. Is there any other way we need to do it?
Regards,
Anupam
plehal - Thursday, August 30, 2012 5:12 PM:
Did you ever figure out what the issue was? I am having the same issue without any solution in sight........
jjlong - Friday, August 26, 2011 8:06 AM:
Anupam,
Did you follow Peter's advice from the earlier post in the thread to MD5 hash your password? Peter said:
"Make sure the AUTHPASSWORD value you are sending is encrypted. The server is expecting that all passwords are one-way hash encrypted on the client, so that we do not send clear text passwords over the web.
In your example, I see "innovator" as the password, but this might just be your example, not the code you are running."
There are a number of web sites which will MD5 encode a string for you which you can find through Google.
Jeff
Chaitali - Friday, August 31, 2012 3:01 AM:
I solved that issue.Make session management session to true.
It will be required to add in your code to manage your sessions between clients and server.
PeterSchroer - Friday, August 26, 2011 8:18 AM:
Good catch Jeff. I bet that's the issue here.
I have sample code in JS, VB and C# for implementing the one-way MD-5 hash for the passwords. If this is a hard-coded interface you can one-time convert Innovator to a MD5 has using a web site, or even easier, run a SQL query against the Aras Innovator User table. if you are building a user interface and will be prompting the user for a username + password, then the method samples will work for hashing the user input into a MD5 password.
Peter
essjay - Thursday, February 9, 2012 10:46 AM:
I'm having a very very similar issue with a Silverlight client. Essentially I've exposed the web service and added it as a service reference to my client.
In the code I execute it performs two calls. One to LogOnAsync and one to ApplyAmlAsync. here is my code:
service.LogOnCompleted += new EventHandler<AsyncCompletedEventArgs>(service_LogOnCompleted);
service.LogOnAsync("admin", "innovator", "", "");
service.ApplyAmlCompleted += new EventHandler<ApplyAmlCompletedEventArgs>(service_ApplyAmlCompleted);
service.ApplyAmlAsync("<AML><Item type='User' action='get'/></AML>");
So using "Fiddler" here are the SOAP calls::
LogOn
Call:
<s:Envelope xmlns:s="schemas.xmlsoap.org/.../"><s:Body xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema"><LogOn xmlns="www.aras.com/.../userPassword><locale /><timeZone /></LogOn></s:Body></s:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="schemas.xmlsoap.org/.../" xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema"><soap:Body><LogOnResponse xmlns="http://www.aras.com/" /></soap:Body></soap:Envelope>
ApplyAml
Call:
<s:Envelope xmlns:s="schemas.xmlsoap.org/.../"><s:Body xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema"><ApplyAml xmlns="www.aras.com/"><aml><AML><Item type='User' action='get'/></AML></aml></ApplyAml></s:Body></s:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="schemas.xmlsoap.org/.../" xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../faultcode><faultstring>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Aras.Tools.WebServices.LogOnException: ERROR: You are not logged in to Innovator.
at Aras.Tools.WebServices.InnovatorWS.CheckAuthorization() in c:Program Files (x86)ArasInnovatorInnovatorWebServicesRSSEMissionApp_CodeInnovator.asmx.cs:line 157
at Aras.Tools.WebServices.InnovatorWS._Apply(String methodName, String aml) in c:Program Files (x86)ArasInnovatorInnovatorWebServicesRSSEMissionApp_CodeInnovator.asmx.cs:line 286
at Aras.Tools.WebServices.InnovatorWS.ApplyAml(String aml) in c:Program Files (x86)ArasInnovatorInnovatorWebServicesRSSEMissionApp_CodeInnovator.asmx.cs:line 72
--- End of inner exception stack trace ---</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope>
So from what I can see, the LogOn call is executing correctly. Note I am not using the MD5 password and when I do, it returns an error.
In the code, the two calls are occuring one after the other with the LogOn being first (exactly as written above). The strange thing is though that looking at Fiddler, it seems the ApplyAml SOAP call is being listed first which looks like is being executed first.
essjay - Thursday, February 9, 2012 12:22 PM:
Just a quick update. It seems this issue is only happening in Internet Explorer. When I set Firefox to the default browser and run the program in Visual Studio it seems to operate as expected.
Could there be an issue with Internet Explorer blocking cookies or something along those lines? From what I can see I have everything set up correctly (allow all cookies in IE, sercuity settings as per Aras Innovator installation etc)