You do realize that SOAP is barely 8 years old (1998) and not really accepted for half that time so give us a break. :-) It hasn't even hit puberty yet.

----- Original Message ----- From: "gerry-u2ug" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, February 28, 2006 3:41 PM
Subject: [U2] SOAP


Well , I wasn't paying much attention when all the SOAP messages were
recently flying about, so I am sorry if I'm going over old ground.
I am trying to access a web service from Universe 10.1.8 using the

This is just a simple test service set up for testing the universe
access - taking a single string parameter and returning a string.
The service method is called but the parameter is null.

SoapRequestWrite returns :
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";

<SOAP-ENV:Body>
<ns1:TestMethod xmlns:ns1="http://mynamespace";

SOAP-ENV:encodingStyle="http://schemas.xmlsoap/soap/encoding/";
>
  <Param xsi:type="xsd:string">SomeVal</Param>
</ns1:TestMethod>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

To me the problem looked obvious : the Param element is not associated
with the ns1 namespace.
So using SoapSetRequestContent and changing the Param element to :
  <ns1:Param xsi:type="xsd:string">SomeVal</ns1:Param>
Everything works peachy.  This also works :

<TestMethod xmlns="http://mynamespace";

SOAP-ENV:encodingStyle="http://schemas.xmlsoap/soap/encoding/";
>
  <Param xsi:type="xsd:string">SomeVal</Param>
</TestMethod>

Either way the inconstant use if the ns1 namespace is mucking things up.

So now to the question,

Is there a config setting that I am missing that will get the proper
message format generated or is Universe Soap support really flaky ?
It does appear that manually coding the SOAP message is the only way to
go which, in my opinion, gives is no advantage over the way we were
doing this via CallHttp.

I did come up with a compromise solution :

stat=SoapRequestWrite(SoapReq,msg,1)
msg=change(msg,"xmlns:ns1=","xmlns=",-1)
msg=change(msg,"ns1:","",-1)
stat=SoapSetRequestContent(SoapReq,msg,1)
stat=SoapSubmitRequest( ... )

Not a big deal and much better than manually coding everything but it
makes me wonder at the reliablity of U2 soap implementation.

Gerry
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to