DSXchange: DataStage and IBM Websphere Data Integration Forum
View next topic
View previous topic
Add To Favorites
Author Message
Gius
Participant



Joined: 09 Mar 2015
Posts: 28

Points: 430

Post Posted: Sun May 26, 2019 4:16 pm Reply with quote    Back to top    

DataStage® Release: 11x
Job Type: Parallel
OS: Windows
Hello,
I'm calling a WebService (using the WebService Transformer).
When the WebService return a correct answer, all is ok.
But when for example, I change the value of a field in the XML input then the WebService should return me a controled Error, But the WebService is giving me a timeout.

If for the same XML I use a Soap GUI ( Postam for example ), then I receive the correct Error Messages as the answer to the WebService.

Does someone knows how to resolve this please ?

Thank You -
Gius
Participant



Joined: 09 Mar 2015
Posts: 28

Points: 430

Post Posted: Sun May 26, 2019 4:20 pm Reply with quote    Back to top    

This is the XML Output I should receive ...
(from Postman, it is a Soap GUI)

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>Client</faultcode>
<faultstring>An error occurred while processing the service request.</faultstring>
<faultactor></faultactor>
<detail>
<UnexpectedError>
<wsrf-bf:Timestamp xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2">2019-05-27T10:42:55</wsrf-bf:Timestamp>
<wsrf-bf:ErrorCode xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2">3701</wsrf-bf:ErrorCode>
<wsrf-bf:Description xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2">RecoverableException | BIP2230 | Text:Caught exception and rethrowing | Insert:com.domgen.service.processPricing_2.SOAP Extract || RecoverableException | BIP2230 | Text:Caught exception and rethrowing | Insert:com.domgen.service.processPricing_2.SF_GetPrice_WebService.SPCall_PDS_PricingLookupFullByReference || RecoverableException | BIP2488 | Text:Error detected, rethrowing | Insert:com.domgen.service.process_PDS_PDSPricingLookupFullByReference.Main | Insert:428.7 | Insert:PROPAGATE TO TERMINAL 'out2' FINALIZE DEFAULT DELETE DEFAULT; || RecoverableException | BIP2230 | Text:Caught exception and rethrowing | Insert:com.domgen.service.processPricing_2.SF_GetPrice_WebService.SF_Campaign.SF_GetRatabasePrice.PrepareRequest_RBWebService_AsIs || RecoverableException | BIP2488 | Text:Error detected, rethrowing | Insert:com.domgen.service.process_Request_SOAP_RB_GetRateRatabaseObjects_Compute.Main | Insert:412.4 | Insert:PROPAGATE TO TERMINAL 'out' FINALIZE DEFAULT DELETE DEFAULT; || RecoverableException | BIP3752 | Text:Error occurred in ImbSOAPReplyHelper::makeSOAPReply() || RecoverableException | BIP3701 | Text:Error Making JNI Call: method_com_ibm_broker_axis2_Axis2Invoker_prepareToSendReplyNonSOAP | Insert:method_com_ibm_broker_axis2_Axis2Invoker_prepareToSendReplyNonSOAP | Insert:org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: An invalid XML character (Unicode: 0x48) was found in the prolog of the document. | Insert:Frame : 0 org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: An invalid XML character (Unicode: 0x48) was found in the prolog of the document.| @: org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:293)| @: org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:104)| @: org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:568)| @: com.ibm.broker.axis2.SoapUtilities.wrapDataInSoapEnvelopeIfRequiredAvoidingAxis2(SoapUtilities.java:1810)| @: com.ibm.broker.axis2.Axis2Invoker.prepareToSendReplyNonSOAP(Axis2Invoker.java:1271)| @: com.ibm.broker.plugin.MbRoute._propagate(Native Method)| @: com.ibm.broker.plugin.MbRoute.propagate(MbRoute.java:95)| @: com.ibm.broker.soap.SoapExtractNode.routeToOperationLabelNode(SoapExtractNode.java:543)| @: com.ibm.broker.soap.SoapExtractNode.evaluate(SoapExtractNode.java:275)| @: com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1491)|Frame : 1 javax.xml.stream.XMLStreamException: An invalid XML character (Unicode: 0x48) was found in the prolog of the document.| @: com.ibm.xml.xlxp2.api.stax.msg.StAXMessageProvider.throwWrappedXMLStreamException(StAXMessageProvider.java:76)| @: com.ibm.xml.xlxp2.api.stax.XMLStreamReaderImpl.produceFatalErrorEvent(XMLStreamReaderImpl.java:2008)| @: com.ibm.xml.xlxp2.api.jaxb.JAXBXMLStreamReader.produceFatalErrorEvent(JAXBXMLStreamReader.java:356)| @: com.ibm.xml.xlxp2.scan.DocumentScanner.reportFatalError(DocumentScanner.java:4871)| @: com.ibm.xml.xlxp2.scan.DocumentScanner.reportFatalError(DocumentScanner.java:1212)| @: com.ibm.xml.xlxp2.scan.DocumentScanner.scanProlog(DocumentScanner.java:1777)| @: com.ibm.xml.xlxp2.scan.DocumentScanner.nextEvent(DocumentScanner.java:1323)| @: com.ibm.xml.xlxp2.api.stax.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:581)| @: com.ibm.xml.xlxp2.api.stax.XMLInputFactoryImpl$XMLStreamReaderProxyImpl.next(XMLInputFactoryImpl.java:183)| @: com.ibm.xml.xlxp2.api.wssec.WSSXMLInputFactory$WSSStreamReaderProxy.next(WSSXMLInputFactory.java:55)| @: org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:672)| @: org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)| @: org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:104)| @: org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:568)| @: com.ibm.broker.axis2.SoapUtilities.wrapDataInSoapEnvelopeIfRequiredAvoidingAxis2(SoapUtilities.java:1810)| @: com.ibm.broker.axis2.Axis2Invoker.prepareToSendReplyNonSOAP(Axis2Invoker.java:1271)| @: com.ibm.broker.plugin.MbRoute._propagate(Native Method)| @: com.ibm.broker.plugin.MbRoute.propagate(MbRoute.java:95)| @: com.ibm.broker.soap.SoapExtractNode.routeToOperationLabelNode(SoapExtractNode.java:543)| @: com.ibm.broker.soap.SoapExtractNode.evaluate(SoapExtractNode.java:275)| @: com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1491)</wsrf-bf:Description>
</UnexpectedError>
<Node>com.domgen.service.processPricing_2.SOAP Reply_GetPrice</Node>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Rate this response:  
Not yet rated
Gius
Participant



Joined: 09 Mar 2015
Posts: 28

Points: 430

Post Posted: Sun May 26, 2019 8:01 pm Reply with quote    Back to top    

I found why the Stage is giving a Time out, but don't know if I can resolve this in Datastage.

In the Output XML, is expecting the TAG :

<GetPriceResp>
...
</GetPriceResp>

But in some errors , the WebService does not send those TAG,

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>Client</faultcode>
<faultstring>An error occurred while processing the service request.</faultstring>
<faultactor></faultactor>
<detail>
...
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>


I don't know if there is a way to Datastage to say , read any Responses ?
Thank You -
Rate this response:  
Not yet rated
chulett

Premium Poster


since January 2006

Group memberships:
Premium Members, Inner Circle, Server to Parallel Transition Group

Joined: 12 Nov 2002
Posts: 42959
Location: Denver, CO
Points: 221538

Post Posted: Sun May 26, 2019 9:52 pm Reply with quote    Back to top    

Well... I have no way to check so this is all from fading memory. Are those tags being left out because the data element is null / missing / empty? I seem to recall that being an option, i.e. you can optionally include or exclude null elements. Perhaps that is what's going on?

_________________
-craig

Now I've got that feeling once again, I can't explain; you would not understand
this is now who I am. I have become comfortably numb.
Rate this response:  
Not yet rated
Gius
Participant



Joined: 09 Mar 2015
Posts: 28

Points: 430

Post Posted: Mon May 27, 2019 2:35 pm Reply with quote    Back to top    

Well, the WSDL I imported is defining the Response with the Tag : GetPriceResp
But I spoke with the guy that wrote the WebServices and WSDL, and he told me that the outcome of the WebService can be also : Fault

NO Timeout with :
<?xml version=1.0 encoding=UTF-8?>
< GetPriceResp xmlns=http://domgen.com/pricing/services/1_0 xmlns:ns1=http://domgen.com/pricing/services/1_0 xmlns:ns2=http://domgen.com/pricing/schema/1_0>
<ErrorResponseList xmlns=http://domgen.com/core/schema/1_0>
<Error>

YES I have a TimeOut with:

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv: Fault >

In the case of the Response with the Tag "Fault", I suppose the problem is that the Stage WebService Transform, is waiting a Response with the Tag "GetPriceResp", then give a TimeOut.
Rate this response:  
Not yet rated
eostic

Premium Poster



Group memberships:
Premium Members

Joined: 17 Oct 2005
Posts: 3820

Points: 30800

Post Posted: Tue May 28, 2019 8:21 pm Reply with quote    Back to top    

Try this...it might provide you with some options, if the change in payload is impacting the default output link parsing.... ....by default, the stage takes the details for parsing the output lin ...

_________________
Ernie Ostic

blogit!
Open IGC is Here!
Rate this response:  
Not yet rated
Display posts from previous:       

Add To Favorites
View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2001, 2002 phpBB Group
Theme & Graphics by Daz :: Portal by Smartor
All times are GMT - 6 Hours