Webservices Error
Moderators: chulett, rschirm, roy
Webservices Error
Hi All,
Iam trying to send records(requests) using webservices transformer stage in DS 8.0 version.
Iam getting the following error.
Web_Services_Transformer_60,0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:HTTP</faultcode>
<faultstring>(401)Unauthorized</faultstring>
<detail>
<string>return code: 401
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>You are not authorized to view this page</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
<STYLE type="text/css">
BODY { font: 8pt/12pt verdana }
H1 { font: 13pt/15pt verdana }
H2 { font: 8pt/12pt verdana }
A:link { color: red }
A:visited { color: maroon }
</STYLE>
</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
<h1>You are not authorized to view this page</h1>
You do not have permission to view this directory or page using the credentials that you supplied because your Web browser is sending a WWW-Authenticate header field that the Web server is not configured to accept.
<hr>
<p>Please try the following:</p>
<ul>
<li>Contact the Web site administrator if you believe you should be able to view this directory or page.</li>
<li>Click the <a href="javascript:location.reload()">Refresh</a> button to try again with different credentials.</li>
</ul>
<h2>HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration.<br>Internet Information Services (IIS)</h2>
<hr>
<p>Technical Information (for support personnel)</p>
<ul>
<li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>401</b>.</li>
<li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),
and search for topics titled <b>About Security</b>, <b>Authentication</b>, and <b>About Custom Error Messages</b>.</li>
</ul>
</TD></TR></TABLE></BODY></HTML>
</string>
</detail>
</ns1:Fault>
at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:369)
at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1685)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
Is this an authorization issue or some thing else..?
Thanks
Iam trying to send records(requests) using webservices transformer stage in DS 8.0 version.
Iam getting the following error.
Web_Services_Transformer_60,0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:HTTP</faultcode>
<faultstring>(401)Unauthorized</faultstring>
<detail>
<string>return code: 401
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>You are not authorized to view this page</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
<STYLE type="text/css">
BODY { font: 8pt/12pt verdana }
H1 { font: 13pt/15pt verdana }
H2 { font: 8pt/12pt verdana }
A:link { color: red }
A:visited { color: maroon }
</STYLE>
</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
<h1>You are not authorized to view this page</h1>
You do not have permission to view this directory or page using the credentials that you supplied because your Web browser is sending a WWW-Authenticate header field that the Web server is not configured to accept.
<hr>
<p>Please try the following:</p>
<ul>
<li>Contact the Web site administrator if you believe you should be able to view this directory or page.</li>
<li>Click the <a href="javascript:location.reload()">Refresh</a> button to try again with different credentials.</li>
</ul>
<h2>HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration.<br>Internet Information Services (IIS)</h2>
<hr>
<p>Technical Information (for support personnel)</p>
<ul>
<li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>401</b>.</li>
<li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),
and search for topics titled <b>About Security</b>, <b>Authentication</b>, and <b>About Custom Error Messages</b>.</li>
</ul>
</TD></TR></TABLE></BODY></HTML>
</string>
</detail>
</ns1:Fault>
at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:369)
at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1685)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
Is this an authorization issue or some thing else..?
Thanks
Looks like an authentication error, especially since you are getting a formal "soap fault" returned to you.....or else maybe it's just a bogus endpoint for your web service (ultimately the wrong server or wrong url address)...
What happens when you run the service using an external tool, such as SOAPui, or Actional Diagnostics.... Does it work there?
Ernie
What happens when you run the service using an external tool, such as SOAPui, or Actional Diagnostics.... Does it work there?
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Hard to say. You are on 8.0? Unfortunately Tracing doesn't work there (you can try it, by usng the Trace tab at the Job Run Dialog....select your WSTransformer on the left, and then check all of the boxes on the right). If it's working, you will see a giant set of traces in the DS Log, with the actual xml payload being shipped out and received back in somewhere deep in the middle....)
Here's what I would do to start debugging things.
a) See if SOAPui has the ability to show you the "actual" HTTP packet that leaves the machine and returns from your web service host. If so, save it for review. See if it has a SOAP header. See what values it has for userid/pwd. Speak with the owner of the service. See what authentication they are looking for...is it normal basic "HTTP" authentication? ...or is it SOAP based authentication?
b) Find a TCP monitor. tcpmon is free and available, but there are many of them on the web. Play with it until you are comfortable how it works...some have pretty complex filtering features. Try it with your SOAPui scenario and see if you can capture and detect the same packet that you looked at above.
c) Once you are comfortable with it, turn it on for your DataStage Server. I realize this is not always easy if the DS Server is on another machine and managed by someone else --- you may need to enlist their help. If this is a large organization, they might already have abilities to "sniff" out TCP packets.
Bottom line --- find a way to compare the outgoing packet from DataStage to the outgoing packet from SOAPui....see if there are any differences. Find out from the author what they are looking for. If it's a SOAP header, then you need more --- you have to build that header yourself upstream and hand it to the WSTransformer....if it's just HTTP, then you need to pass that info in the Stage properties.
Ernie
Here's what I would do to start debugging things.
a) See if SOAPui has the ability to show you the "actual" HTTP packet that leaves the machine and returns from your web service host. If so, save it for review. See if it has a SOAP header. See what values it has for userid/pwd. Speak with the owner of the service. See what authentication they are looking for...is it normal basic "HTTP" authentication? ...or is it SOAP based authentication?
b) Find a TCP monitor. tcpmon is free and available, but there are many of them on the web. Play with it until you are comfortable how it works...some have pretty complex filtering features. Try it with your SOAPui scenario and see if you can capture and detect the same packet that you looked at above.
c) Once you are comfortable with it, turn it on for your DataStage Server. I realize this is not always easy if the DS Server is on another machine and managed by someone else --- you may need to enlist their help. If this is a large organization, they might already have abilities to "sniff" out TCP packets.
Bottom line --- find a way to compare the outgoing packet from DataStage to the outgoing packet from SOAPui....see if there are any differences. Find out from the author what they are looking for. If it's a SOAP header, then you need more --- you have to build that header yourself upstream and hand it to the WSTransformer....if it's just HTTP, then you need to pass that info in the Stage properties.
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Hi Ernie,
I got the information for the userid/pwd.
Now I got new error which is..
APT_CombinedOperatorController(1),0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>java.lang.NumberFormatException: For input string: "PriceRequestUploadServiceSoap"</faultstring>
<detail>
<ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">java.lang. ... tException: For input string: "PriceRequestUploadServiceSoap"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:63)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:542)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:134)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:1753)
at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:266)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1685)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
</ns1:stackTrace>
</detail>
</ns1:Fault>
at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:369)
at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1685)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
please let me know if you have any idea on this.
Thanks
I got the information for the userid/pwd.
Now I got new error which is..
APT_CombinedOperatorController(1),0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>java.lang.NumberFormatException: For input string: "PriceRequestUploadServiceSoap"</faultstring>
<detail>
<ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">java.lang. ... tException: For input string: "PriceRequestUploadServiceSoap"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:63)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:542)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:134)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:1753)
at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:266)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1685)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
</ns1:stackTrace>
</detail>
</ns1:Fault>
at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:369)
at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1685)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
please let me know if you have any idea on this.
Thanks
Same...pursue the payload research. Something is different between the call from SOAPui and the one from DS.
Ernie
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
...interestingly enough, I might add that the error above points to a numeric exception of some kind. Like maybe a datatype problem. Have you populated all of your columns? Are any of them sending nulls or bad values?
Also...what are you using as a simple test service? It's always good to have one that is simple that you can use to validate all the mechanics. One that I really like is http://webservices.daehosting.com/servi ... s.wso?WSDL
That WSDL has several Operations that convert temperatures from F to C and the other direction....
Set one of those Operations up in a WSTransformer and get it working perfectly. Then you'll know that you have everything working mechanically with a simple one, and can compare.
Ernie
Also...what are you using as a simple test service? It's always good to have one that is simple that you can use to validate all the mechanics. One that I really like is http://webservices.daehosting.com/servi ... s.wso?WSDL
That WSDL has several Operations that convert temperatures from F to C and the other direction....
Set one of those Operations up in a WSTransformer and get it working perfectly. Then you'll know that you have everything working mechanically with a simple one, and can compare.
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Thanks. Strange that it worked via SOAPui.... it probably didn't or else it was using local windows authentication....is your DS Server on Unix or Linux?
Ernie
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
The stage supports passing of HTTPS based credentials. See if they have a way of mapping those to a Windows userid.
Ernie
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Hi -
Have anyone found a way of mapping the basic authentication from DS to the Windows authentication?
I'm having the same problem with calling a Sharepoint webservice which requires my userid to be windows authenticated (Kerberos)
Our DS installation is on Linux.
Thanks
Have anyone found a way of mapping the basic authentication from DS to the Windows authentication?
I'm having the same problem with calling a Sharepoint webservice which requires my userid to be windows authenticated (Kerberos)
Our DS installation is on Linux.
Thanks
_________________
- Susanne
- Susanne