Webservices error
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 148
- Joined: Thu Apr 10, 2008 12:47 am
Webservices error
Hi,
I have been working one of the required to call Webservice, the job design is simple
webservices client----Seq file
I am passing input arguement to get the reply , but job aborted.
The first impression was authetication issue, but we asked web-service owners to temporarily disable the authetication.
i ran the job again but throwing me below error.
Any input would be really appreciated.
Web_Services_Client_59,0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelop ... ing>SYSTEM : OSB Transport error Username; Operation name: Error code: BEA-380001 Reason: Internal Server Error</faultstring><detail><v1:error isLogged="true" xmlns:v1="http://error.ntpsoa.nordea.com/object/v ... essage>OSB Transport error Username; Operation name: Error code: BEA-380001 Reason: Internal Server Error</v1:message><v1:category>SYSTEM</v1:category><v1:timestamp>2015-02-20T15:13:29.181+01:00</v1:timestamp><v1:errorDetails><v1:errorDetail><v1:key>BEA-380001</v1:key><v1:value>response-pipeline : Route to business service : Internal Server Error</v1:value></v1:errorDetail><v1:errorDetail><v1:key>soap:Client</v1:key><v1:value>Message part {http://soa.nordea.com/BusinessRelation/ ... DIDRequest was not recognized. (Does it exist in service WSDL?)</v1:value></v1:errorDetail></v1:errorDetails></v1:error></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:105)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runSource(StageFactory.java:335)
I have been working one of the required to call Webservice, the job design is simple
webservices client----Seq file
I am passing input arguement to get the reply , but job aborted.
The first impression was authetication issue, but we asked web-service owners to temporarily disable the authetication.
i ran the job again but throwing me below error.
Any input would be really appreciated.
Web_Services_Client_59,0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelop ... ing>SYSTEM : OSB Transport error Username; Operation name: Error code: BEA-380001 Reason: Internal Server Error</faultstring><detail><v1:error isLogged="true" xmlns:v1="http://error.ntpsoa.nordea.com/object/v ... essage>OSB Transport error Username; Operation name: Error code: BEA-380001 Reason: Internal Server Error</v1:message><v1:category>SYSTEM</v1:category><v1:timestamp>2015-02-20T15:13:29.181+01:00</v1:timestamp><v1:errorDetails><v1:errorDetail><v1:key>BEA-380001</v1:key><v1:value>response-pipeline : Route to business service : Internal Server Error</v1:value></v1:errorDetail><v1:errorDetail><v1:key>soap:Client</v1:key><v1:value>Message part {http://soa.nordea.com/BusinessRelation/ ... DIDRequest was not recognized. (Does it exist in service WSDL?)</v1:value></v1:errorDetail></v1:errorDetails></v1:error></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:105)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runSource(StageFactory.java:335)
Hard to say....does the service work when using a tool like SOAPsonar or SOAPui?
Make sure that works perfectly and you are very familiar with the service, it's response, it's security requirements, etc. etc.
Ernie
Make sure that works perfectly and you are very familiar with the service, it's response, it's security requirements, etc. etc.
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>
Isn't this the relevant part of the error message?
<v1:value>Message part {http://soa.nordea.com/BusinessRelation/ ... DIDRequest was not recognized. (Does it exist in service WSDL?)</v1:value>
<v1:value>Message part {http://soa.nordea.com/BusinessRelation/ ... DIDRequest was not recognized. (Does it exist in service WSDL?)</v1:value>
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
-
- Participant
- Posts: 148
- Joined: Thu Apr 10, 2008 12:47 am
-
- Participant
- Posts: 148
- Joined: Thu Apr 10, 2008 12:47 am
I contacted the Web service owner and they applied correction .
now i see following issue
Web_Services_Client_65,0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelop ... ing>SYSTEM : OSB Transport error Username; Operation name:retrieveNaceCode_byBVDID Error code: BEA-380001 Reason: Internal Server Error</faultstring><detail><v1:error isLogged="true" xmlns:v1="http://error.ntpsoa.nordea.com/object/v ... essage>OSB Transport error Username; Operation name:retrieveNaceCode_byBVDID Error code: BEA-380001 Reason: Internal Server Error</v1:message><v1:category>SYSTEM</v1:category><v1:timestamp>2015-02-24T13:38:07.007+01:00</v1:timestamp><v1:errorDetails><v1:errorDetail><v1:key>BEA-380001</v1:key><v1:value>response-pipeline : Route to business service : Internal Server Error</v1:value></v1:errorDetail><v1:errorDetail><v1:key>soap:Server</v1:key><v1:value>YOU SHALL NOT PASS!</v1:value></v1:errorDetail></v1:errorDetails></v1:error></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:105)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runSource(StageFactory.java:335)
not sure how to debug futher, web services are responding through other API as they shown me
Any further input is musch appreciated here.
now i see following issue
Web_Services_Client_65,0: Fatal Error: Fatal: 0026`:`com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelop ... ing>SYSTEM : OSB Transport error Username; Operation name:retrieveNaceCode_byBVDID Error code: BEA-380001 Reason: Internal Server Error</faultstring><detail><v1:error isLogged="true" xmlns:v1="http://error.ntpsoa.nordea.com/object/v ... essage>OSB Transport error Username; Operation name:retrieveNaceCode_byBVDID Error code: BEA-380001 Reason: Internal Server Error</v1:message><v1:category>SYSTEM</v1:category><v1:timestamp>2015-02-24T13:38:07.007+01:00</v1:timestamp><v1:errorDetails><v1:errorDetail><v1:key>BEA-380001</v1:key><v1:value>response-pipeline : Route to business service : Internal Server Error</v1:value></v1:errorDetail><v1:errorDetail><v1:key>soap:Server</v1:key><v1:value>YOU SHALL NOT PASS!</v1:value></v1:errorDetail></v1:errorDetails></v1:error></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:105)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runSource(StageFactory.java:335)
not sure how to debug futher, web services are responding through other API as they shown me
Any further input is musch appreciated here.
This is one of those scenarios where I find it useful to create a Server Job for testing that does the same thing --- calling the Web Service Transformer.....because the Server Job Web Services Transformer Stage is able to perform detailed tracing....
Set up the Job and when you run it, go to the tracing tab of the run dialog.......find and check ONLY the WS Transformer Stage on the left, and ALL four boxes on the right.
You will get a very large set of log records...but in the middle of them, look carefully...there will be one or two "XML" log records.....these show the complete SOAP body being sent "out", and the SOAP body being returned. It's useful to do it this way because then you can:
a) compare the soap body going "out" to the one that is going out from the testing tool where you have this service working perfectly.
b) see if it gets out and ever comes back.....meaning, where is the error coming from. If the soap body coming back is this nice looking xml fault, then you know it is being generated by the server and can enlist the author's assistance on what might be wrong [they code what the fault is saying and delivering].
If there are differences in the envelope that goes out from DS and from your successfully working soap debugging tool, there are ways to impact that and make sure the right payload goes out. If there aren't any differences, then there is something else going on.....probably at the server.
Ernie
Set up the Job and when you run it, go to the tracing tab of the run dialog.......find and check ONLY the WS Transformer Stage on the left, and ALL four boxes on the right.
You will get a very large set of log records...but in the middle of them, look carefully...there will be one or two "XML" log records.....these show the complete SOAP body being sent "out", and the SOAP body being returned. It's useful to do it this way because then you can:
a) compare the soap body going "out" to the one that is going out from the testing tool where you have this service working perfectly.
b) see if it gets out and ever comes back.....meaning, where is the error coming from. If the soap body coming back is this nice looking xml fault, then you know it is being generated by the server and can enlist the author's assistance on what might be wrong [they code what the fault is saying and delivering].
If there are differences in the envelope that goes out from DS and from your successfully working soap debugging tool, there are ways to impact that and make sure the right payload goes out. If there aren't any differences, then there is something else going on.....probably at the server.
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>
-
- Participant
- Posts: 148
- Joined: Thu Apr 10, 2008 12:47 am
-
- Participant
- Posts: 148
- Joined: Thu Apr 10, 2008 12:47 am
I have had a quick discussion with web services owner
they say that all the context are not added as and ask me to add it manually rest of it.
my impression is wSDL should be import everything by default.
below are the soap request should go to end point as per them.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:obj="http://servicecontext.ntpsoa.nordea.com/object" xmlns:v1="http://soa.nordea.com/BusinessRelation/ ... a/wsdl/v1/">
<soapenv:Header>
<obj:serviceContext schemaVersion="?">
<obj:userId>g47868</obj:userId>
<obj:technicalUserId>TECH</obj:technicalUserId>
<obj:sessionId>ABCDEFG1234567890</obj:sessionId>
<obj:requestId>1181726853576</obj:requestId>
<obj:applicationId>NTPIL</obj:applicationId>
<obj:channelId>BRANCH</obj:channelId>
<obj:clientType>JPF</obj:clientType>
<obj:clientComponent>SoapUI</obj:clientComponent>
<obj:clientComponentVersion>1.6.1</obj:clientComponentVersion>
<obj:clientAction>retrieveHumanResourceByUserId</obj:clientAction>
<obj:clientView>humanresource.jsp</obj:clientView>
<obj:processInstance xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<obj:authMethod>NINAA</obj:authMethod>
<obj:officeMode>OFFICE</obj:officeMode>
<obj:userLocation>192.168.1.37</obj:userLocation>
<obj:requestDomain>DK</obj:requestDomain>
<obj:messageTimeStamp>2008-03-07T15:07:00.000Z</obj:messageTimeStamp>
<obj:auditCategory>TRACK</obj:auditCategory>
<obj:test>false</obj:test>
<obj:testParams>
<obj:testParam target="PerformanceTraceEnabled">true</obj:testParam>
<obj:testParam target="savecannedreply">false</obj:testParam>
<obj:testParam target="returncannedreply">false</obj:testParam>
</obj:testParams>
<obj:accountingUnit>ACCUNIT</obj:accountingUnit>
</obj:serviceContext>
</soapenv:Header>
<soapenv:Body>
<v1:retrieveNaceCode_byBVDIDRequest>
<bureauVanDijkId>*******</bureauVanDijkId>
<secretPassphrase>*****</secretPassphrase>
</v1:retrieveNaceCode_byBVDIDRequest>
</soapenv:Body>
</soapenv:Envelope>
but when i import the WSDL only below appears as input argument
<soapenv:Body>
<v1:retrieveNaceCode_byBVDIDRequest>
<bureauVanDijkId>******</bureauVanDijkId>
<secretPassphrase>******</secretPassphrase>
</v1:retrieveNaceCode_byBVDIDRequest>
</soapenv:Body>
Am i correct here? or ?
P.S--***** is used to mask here.
they say that all the context are not added as and ask me to add it manually rest of it.
my impression is wSDL should be import everything by default.
below are the soap request should go to end point as per them.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:obj="http://servicecontext.ntpsoa.nordea.com/object" xmlns:v1="http://soa.nordea.com/BusinessRelation/ ... a/wsdl/v1/">
<soapenv:Header>
<obj:serviceContext schemaVersion="?">
<obj:userId>g47868</obj:userId>
<obj:technicalUserId>TECH</obj:technicalUserId>
<obj:sessionId>ABCDEFG1234567890</obj:sessionId>
<obj:requestId>1181726853576</obj:requestId>
<obj:applicationId>NTPIL</obj:applicationId>
<obj:channelId>BRANCH</obj:channelId>
<obj:clientType>JPF</obj:clientType>
<obj:clientComponent>SoapUI</obj:clientComponent>
<obj:clientComponentVersion>1.6.1</obj:clientComponentVersion>
<obj:clientAction>retrieveHumanResourceByUserId</obj:clientAction>
<obj:clientView>humanresource.jsp</obj:clientView>
<obj:processInstance xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<obj:authMethod>NINAA</obj:authMethod>
<obj:officeMode>OFFICE</obj:officeMode>
<obj:userLocation>192.168.1.37</obj:userLocation>
<obj:requestDomain>DK</obj:requestDomain>
<obj:messageTimeStamp>2008-03-07T15:07:00.000Z</obj:messageTimeStamp>
<obj:auditCategory>TRACK</obj:auditCategory>
<obj:test>false</obj:test>
<obj:testParams>
<obj:testParam target="PerformanceTraceEnabled">true</obj:testParam>
<obj:testParam target="savecannedreply">false</obj:testParam>
<obj:testParam target="returncannedreply">false</obj:testParam>
</obj:testParams>
<obj:accountingUnit>ACCUNIT</obj:accountingUnit>
</obj:serviceContext>
</soapenv:Header>
<soapenv:Body>
<v1:retrieveNaceCode_byBVDIDRequest>
<bureauVanDijkId>*******</bureauVanDijkId>
<secretPassphrase>*****</secretPassphrase>
</v1:retrieveNaceCode_byBVDIDRequest>
</soapenv:Body>
</soapenv:Envelope>
but when i import the WSDL only below appears as input argument
<soapenv:Body>
<v1:retrieveNaceCode_byBVDIDRequest>
<bureauVanDijkId>******</bureauVanDijkId>
<secretPassphrase>******</secretPassphrase>
</v1:retrieveNaceCode_byBVDIDRequest>
</soapenv:Body>
Am i correct here? or ?
P.S--***** is used to mask here.
Looks perfectly valid. The soap header isn't going to show from importing the wsdl, but you most certainly can pass it along in the call. Build the SOAP header separately in an upstream transformer....for testing, using a payload from your SOAP testing tool ---- you need to have a tool like SOAPsonar, as per the posts above, so that YOU become very familiar with the calling format, the header structure, etc.--- have you done that yet?
The Stage has a way to pass this header in as one of the columns.
Ernie
The Stage has a way to pass this header in as one of the columns.
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>
-
- Participant
- Posts: 148
- Joined: Thu Apr 10, 2008 12:47 am
now i have added the SOAP header by manuel construction as shown below with in Output tab as input argument.
<soapenv:Header><obj:serviceContext schemaVersion="?"><obj:userId>g47868</obj:userId><obj:technicalUserId>TECH</obj:technicalUserId><obj:sessionId>ABCDEFG1234567890</obj:sessionId><obj:requestId>1181726853576</obj:requestId><obj:applicationId>NTPIL</obj:applicationId><obj:channelId>BRANCH</obj:channelId><obj:clientType>JPF</obj:clientType><obj:clientComponent>SoapUI</obj:clientComponent><obj:clientComponentVersion>1.6.1</obj:clientComponentVersion><obj:clientAction>retrieveHumanResourceByUserId</obj:clientAction><obj:clientView>humanresource.jsp</obj:clientView><obj:processInstance xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan ... :testParam target="PerformanceTraceEnabled">true</obj:testParam><obj:testParam target="savecannedreply">false</obj:testParam><obj:testParam target="returncannedreply">false</obj:testParam></obj:testParams><obj:accountingUnit>ACCUNIT</obj:accountingUnit></obj:serviceContext></soapenv:Header>
following error occured
Web_Services_Client_65,0: [Fatal Error] :1:17: The prefix "soapenv" for element "soapenv:Header" is not bound.
am i missing something here? does headar needs mapping?
br,
Devesh
<soapenv:Header><obj:serviceContext schemaVersion="?"><obj:userId>g47868</obj:userId><obj:technicalUserId>TECH</obj:technicalUserId><obj:sessionId>ABCDEFG1234567890</obj:sessionId><obj:requestId>1181726853576</obj:requestId><obj:applicationId>NTPIL</obj:applicationId><obj:channelId>BRANCH</obj:channelId><obj:clientType>JPF</obj:clientType><obj:clientComponent>SoapUI</obj:clientComponent><obj:clientComponentVersion>1.6.1</obj:clientComponentVersion><obj:clientAction>retrieveHumanResourceByUserId</obj:clientAction><obj:clientView>humanresource.jsp</obj:clientView><obj:processInstance xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan ... :testParam target="PerformanceTraceEnabled">true</obj:testParam><obj:testParam target="savecannedreply">false</obj:testParam><obj:testParam target="returncannedreply">false</obj:testParam></obj:testParams><obj:accountingUnit>ACCUNIT</obj:accountingUnit></obj:serviceContext></soapenv:Header>
following error occured
Web_Services_Client_65,0: [Fatal Error] :1:17: The prefix "soapenv" for element "soapenv:Header" is not bound.
am i missing something here? does headar needs mapping?
br,
Devesh
It's a namespace issue. Notice in the top one that you provided, soapenv is fully qualified as a prefix. Check the namespace tab on the stage...you may be able to put it in there. Look at the others that are in there for the syntax.
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>