cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Axis receiver: host parameter is null

Former Member
0 Kudos

Hello,

we are on a PI 7.11 (SP06) system & we are trying to setup a scenario SOAP - SOAP (Axis) where we initiate a third party webservice. To connect to this service we are obliged to go through our proxy, which we defined in our JVM parameters:

http.nonProxyHosts: [*.ont.local|*.val.local|*.mon.local]
http.proxyHost: [proxypac.mon.local]
http.proxyPort: [8080]
http.proxySet: true

When we execute our scenario via soapUI we get following error:

com.sap.engine.interfaces.messaging.api.exception.MessagingException:

com.sap.engine.interfaces.messaging.api.exception.MessagingException:

XIAdapterFramework:GENERAL:com.sap.engine.interfaces.messaging.api.exception.MessagingException:

java.lang.IllegalArgumentException: host parameter is null

We already tried with http://proxypac.mon.local as parameter as well but still we get this error.

Furthermore we are able to make a connection to the service via a SM59 connection.

Axis details:

Adapter Common Library Version: 1.7.1106.20110202095400.0000, NW711_06_REL

Adapter Application Version: 1.7.1106.20110202095400.0000, NW711_06_REL

Axis Version: Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)

Many thanks in advance for your help,

Frédéric.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Looks like a bug : https://issues.apache.org/jira/browse/AXIS-1994 ? Read somewhere someone was able to fix this by moving to AXIS2 & CommonsHTTPTransportSender, but not sure PI supports this release ...

Rgds

Chris

Former Member
0 Kudos

SAP told us in SP8 there will be a possibility to add the proxy parameters in the communication channel (as for SOAP adapter).

But I think release of SP8 will take a while, no?

Regards,

Frederic.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

What happens when you try to use just the SOAP (HTTP) Receiver instead of the SOAP (Axis) Receiver? Can you give more details about the third party webservice e.g customized soap headers, soap 1.1/1.2, etc... Have you tried loading their wsdl into SOAP UI and analyze the request by going to the Raw tab?

Hope this helps,

Mark

Former Member
0 Kudos

Hello Mark,

we get this last error when connecting with SOAP receiver instead of Axis receiver.

We are sending different headers (wsa & wsse) in our soapUI request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:klip="http://ws.agiv.be/klipws" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Header>

<wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://ws.agiv.be/klipws/ListKLB</wsa:Action>

<wsa:MessageID>urn:uuid:2a46571e-d5a7-4b33-a4a1-a174330cd36c</wsa:MessageID>

<wsa:ReplyTo> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo>

<wsa:To>http://wsklip.beta.agiv.be/**********.asmx</wsa:To>

<wsse:Security soapenv:mustUnderstand="1" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:klip="http://ws.agiv.be/klipws" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">

<wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<wsu:Created>2011-09-27T10:00:31Z</wsu:Created>

<wsu:Expires>2011-09-30T18:01:31Z</wsu:Expires>

</wsu:Timestamp>

<wsse:UsernameToken>

<wsse:Username>*********</wsse:Username>

<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">***************************************wsse:Password>

<wsse:Nonce>****************************************</wsse:Nonce>

<wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2011-09-12T14:01:31Z</wsu:Created>

</wsse:UsernameToken>

</wsse:Security>

</soapenv:Header>

<soapenv:Body> <klip:ListKLB xmlns="http://ws.agiv.be/klipws"/>

</soapenv:Body>

</soapenv:Envelope>

For the Axis receiver it looks like one of the handlers can't get the value of our host parameter.

Any help or tips would be really appreciated!

Regards,

Frédéric.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

http.nonProxyHosts: [.ont.local|.val.local|*.mon.local]

http.proxyHost: [proxypac.mon.local]

http.proxyPort: [8080]

http.proxySet: true

What happens when you use the IP of proxypac.mon.local instead of the Hostname?

Regards,

Mark

Former Member
0 Kudos

Hi Mark,

thanks for the tip but the error remains exactly the same unfortunately... :s

If you already worked with the Axis framework, could you provide me eventually the Axis version you were using?

Is there any way to check if the different components in our SDA are compatible with eachother?

Regards,

Frédéric.

Former Member
0 Kudos

All,

the error "host parameter is null" only appears when we use the CommonsHTTPSender handler.

We are using following parameters in the Module tab:

Processing sequence:


AF_Adapters/axis/AFAdapterBean         Local Enterprise Bean  afreq
AF_Adapters/axis/HandlerBean           Local Enterprise Bean  xireq
AF_Adapters/axis/HandlerBean           Local Enterprise Bean  wssec
AF_Adapters/axis/HandlerBean           Local Enterprise Bean  trp
AF_Adapters/axis/HandlerBean           Local Enterprise Bean  xires
AF_Adapters/axis/AFAdapterBean         Local Enterprise Bean  afres

Module Configuration:


trp          handler.type        java:com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender
trp          module.pivot        true
wssec   action                  UsernameToken
wssec   handler.type        java:com.sap.aii.adapter.axis.ra.handlers.security.WSDoAllSender
wssec   passwordType   PasswordDigest
wssec   pwd.password   ******************** = ********************
wssec   user                    EANDISKLIP
xireq      handler.type        java:com.sap.aii.axis.xi.XI30OutboundHandler
xires      handler.type        java:com.sap.aii.axis.xi.XI30OutboundHandler

Anyone knows if the CommonsHTTPSender handler is still used in PI 7.11?

These parameters seems fine to me or did I miss something?

Thanks in advance for any tips!

Regards,

Frederic.

Former Member
0 Kudos

Does anyone has a solution for this?

Former Member
0 Kudos

Hello,

we were able to do a successful call to the service via Mozilla Poster.

When we test the same request via soapUI we get following error:

Header http://schemas.xmlsoap.org/ws/2004/08/addressing:Action for ultimate recipient is required but not present in the message.

Allthough our action field is available in our request: <wsa:Action>http://ws.agiv.be/klipws/****</wsa:Action>

We send a wsa & wsse block in our request.

CC config:

URL: http://wsklip.beta.agiv.be/****.asmx

Basic Authentication

SOAP version: 1.1 (or 1.2)

SOAP action: http://ws.agiv.be/klipws/****

Encapsulation Format: MIME

Payload Extraction: SOAP Body

Any tips for this problem?

Many thanks in advance,

Frédéric.