BusinessObjects Board

How to pass SOAP Action when POSTing via HTTP Adapter

Hello,
We are currently having issues with POSTing HTTP request.
On the target application the error says “no SOAPAction header!”.
Is there way we can mention the SOAPAction header anywhere in the HTTP adapter or the operation configuration.
Help is much appreciated.


Jenny (BOB member since 2008-12-03)

looks like you are trying to use HTTP Adpater for sending SOAP Request, for sending SOAP request use Webservice Datastore


manoj_d (BOB member since 2009-01-02)

Manoj,
That is correct. I did get the same response from SAP.
When I try to use WSDL via Web Service DataStore and run the job I get the below error.

soapenv:Faultsoapenv:faultcodesoapenv:Client</soapenv:faultcode>soapenv:faultstring/soapenv:detail<ns1:ExceptionInfoList xmlns:ns1=“http://schemas.helloworld.net/AA_functions”>ns1:ExceptionInfo<ns1:Exception name=“java.lang.NullPointerException”

Please help!


Jenny (BOB member since 2008-12-03)

this error is coming from server side, are you passing all the parameters correctly to the function ?


manoj_d (BOB member since 2009-01-02)

Manoj,
I think I am not. I guess I am missing the SOAP envelope and its fields.
I have a WSDL that I am importing which does not show me the soap envelop and its fields after the import. I am able to import and map the header and body fields.
Is it possible to pass the soap envelop fields as the part of the HTTP header fields in the Web Service Data Store setting?


Jenny (BOB member since 2008-12-03)

SoapEnvelop element will not be imported as part of metadata it will be added when creating a soapMessage by the DataServices

do this

go to %LINK_DIR%\ext\webservice-c folder, edit axis2.xml file
look for the following tag

add the following tag before this

now run the job from command line, add pass additional arguments -D -np, check the %DS_COMMON_DIR%\log\axis2_log.txt file, you will see the Soap Request and Response in it


manoj_d (BOB member since 2009-01-02)

I made the suggested changes to the axis2.xml file and ran the job in command line.
The axis2_log.txt file is empty.

Attached, please find the error I get after running the job in the command line.
Command Line Run Error.png


Jenny (BOB member since 2008-12-03)

Manoj,
I tried running the job from separate machine and was able to generate the trace in axis2_log.txt file.
Attached, please find the log file.
From reading the log it says soap action is missing.
In the wsdl file I have mentioned the soap action.
Below please find a part of the wsdl file.

<wsdl:operation name=“AddWorkOrderOp”>
<wsdlsoap:operation soapAction=“processMessage”/>
axis2_log.txt (19.0 KB)


Jenny (BOB member since 2008-12-03)

the action missing message is just a warning ignore that, if you look at the log and search for “Output message:” you can see the complete Soap Input Message that is going from DS, most of you elements are going as NULL

it’s possible that server side is expecting some value that is missing and causing a NullPointerException on the server side, use this Soap Input message in SoapUI you will get the same exception response

Send this input to the service provider and check with them


manoj_d (BOB member since 2009-01-02)

Manoj,
Thanks! for the response.
You might be correct. I am investigating into it.
I need to know the xml I am sending through Data Services to confirm the xml structure.
When I am running the job through the command line it takes more than an hour to run. Is there way I can improve the executing time?
Is running the job from command line only option to view the xml being sent out by Data Service to the target application?


Jenny (BOB member since 2008-12-03)

Hi , I need to consume an external web service . I am using ‘webservice’ datastore . I am able to import the functiion in my datastore. But while I execute my job , I get the following error >

3656 3872 XML-240304 1/10/2014 1:04:19 PM |Session BSB_Test2|Data flow New_DataFlow5
3656 3872 XML-240304 1/10/2014 1:04:19 PM XML parser failed: Error <namespace ‘http://guidewire.com/ws/soapheaders’ is referenced without import declaration> at line
3656 3872 XML-240304 1/10/2014 1:04:19 PM <21>, char <55> in <<xsd:schema

3656 3872 XML-240416 1/10/2014 1:04:19 PM |Session BSB_Test2|Data flow New_DataFlow5
3656 3872 XML-240416 1/10/2014 1:04:19 PM Error importing XML Schema from file <adapter_schema_in.xsd>: <XML parser failed: Error <namespace
3656 3872 XML-240416 1/10/2014 1:04:19 PM ‘http://guidewire.com/ws/soapheaders’ is referenced without import declaration> at line <21>, char <55> in <<xsd:schema
3656 3872 XML-240416 1/10/2014 1:04:19 PM xmlns:xsd=“http://www.w3.org/2001/XMLSchema
3656 3872 XML-240416 1/10/2014 1:04:19 PM xmlns:gwsoap=“http://guidewire.com/ws/soapheaders

I am trying to generate axis2_log files using the above steps mentioned in the post. I modified my axis2.xml file on Job Server and executed the job from command line on Job Server. But unfortunately my log file itself is not generating :frowning:

COuld anybody help me in generating that log file so that I can trace my issue?


sonalkapoor05 (BOB member since 2014-10-01)

it’s failing even before that, what is your DS version, I think this is fixed in DS 4.1 SP3.3 and DS 4.2 SP1 Patch 5 and Above


manoj_d (BOB member since 2009-01-02)