Hi,
Could it be a SOAP version issue?
In http://www.w3.org/TR/2003/REC-soap12-part0-20030624/
it says:
“In SOAP 1.2, omitted accessors of
compound types are made equal to NILs.”
Does that mean what I think it means?
If so, it may be that .Net implements SOAP
1.2, while the others implement SOAP 1.1.
Yossi.
From: Rich
Thompson [mailto:richt2@us.ibm.com]
Sent: Monday, March 15, 2004 7:58
PM
To:
wsrp-interop@lists.oasis-open.org
Subject: RE: [wsrp-interop] SAP
Consumer interaction with other Producers
Presumably this means the .NET parser is operating in a non-validating
manner. The other possibility is that this falls into the bucket of errors we
found when looking at what tools did with minOccurs=0 vs nillable=true. Did
.NET treat these as equivalent even though schema does not?
I have
noted that Richard posted what a minimal valid request looks like.
Rich
"Klein, Avi"
<avi.klein@sap.com>
03/15/2004
11:20 AM
|
To
|
Andre Kramer <andre.kramer@eu.citrix.com>,
wsrp-interop@lists.oasis-open.org
|
cc
|
|
Subject
|
RE: [wsrp-interop] SAP Consumer interaction with other
Producers
|
|
Hi Andre,
The Web Service stack is an SAP JAX-RPC implementation.
Regarding the nillable: that is right, the registration
context is indeed what is niilable and only Citrix Producer allowed my to send
<SOAP-ENV:Body>
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
</prt0:getServiceDescription>
</SOAP-ENV:Body>
Upon sending:
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
<prt0:registrationContext
xsi:nil="true"/>
<prt0:desiredLocales
xsi:nil="true"/>
</prt0:getServiceDescription>
I failed with Citrix Producer as well…
This is actually my question to the other members (especially
Oracle representatives), is there something wrong with the way I formed the
message or is it a known issue that without a registrationHandle the Oracle
producer faults?
From: Andre Kramer
[mailto:andre.kramer@eu.citrix.com]
Sent: Monday, March 15, 2004 6:06 PM
To: Andre Kramer; Klein, Avi; wsrp-interop@lists.oasis-open.org
Subject: RE: [wsrp-interop] SAP Consumer interaction with other
Producers
Now that I actually checked, it is the registration context
that is nillable and not the handle but the desiredLocales element is not which
just shows that it is best to let the web service tools deal with the issue.
-----Original
Message-----
From: Andre Kramer [mailto:andre.kramer@eu.citrix.com]
Sent: 15 March 2004 15:59
To: 'Klein, Avi'; wsrp-interop@lists.oasis-open.org
Subject: RE: [wsrp-interop] SAP Consumer interaction with other
Producers
Glad the Citrix producer worked for you. It's .NET based and
I suspect other stacks want nillable elements to be specified as
"xsi:nil='true'" as required by our schema, e.g registrationHandle in
getServiceDescription:
<soapenv:Body>
<getServiceDescription
xmlns="urn:oasis:names:tc:wsrp:v1:types">
<registrationContext>
<registrationHandle xsi:nil="true"/>
</registrationContext>
</getServiceDescription>
</soapenv:Body>
What Web Service stack are you planning to use?
regards,
Andre
-----Original
Message-----
From: Klein, Avi [mailto:avi.klein@sap.com]
Sent: 15 March 2004 15:34
To: wsrp-interop@lists.oasis-open.org
Subject: [wsrp-interop] SAP Consumer interaction with other
Producers
Hi
All,
I have
kicked off a task here in SAP of implementing interactions between SAP portals
and other portals. In the process of the initial checking I have performed some
testing of invoking getServiceDescription form some published vendors such as
Oracle, IBM Citrix etc. (as published in the demo page).
While
checking I came across some different behaviors and can use some help in
understanding them.
The
following messages are the messages exchanged by my environment (Consumer) and
Oracle Producer, I have tested different sort of messages in order to find out
what is wrong. As you can see below I've tried different combinations (even xsi:nil="true" RPC style)
but could not make it work (except for Citrix). I would appreciate any help in
understanding what is wrong.
Thanks
a lot,
Avi.
Unedited
request#1:
<?xml
version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"><SOAP-ENV:Body><prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types"></prt0:getServiceDescription></SOAP-ENV:Body></SOAP-ENV:Envelope>
Request#1:
<?xml
version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl">
<SOAP-ENV:Body>
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
</prt0:getServiceDescription>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ORACLE
Response#1:
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Internal Server Error (deserialization error:
expected element is missing:
{urn:oasis:names:tc:wsrp:v1:types}getServiceDescription)</faultstring>
</env:Fault>
</env:Body>
</env:Envelope>
--------------------
Unedited
request#2:
<?xml
version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema" xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"><SOAP-ENV:Body><prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types"><prt0:registrationContext
xsi:nil="true"/><prt0:desiredLocales
xsi:nil="true"/></prt0:getServiceDescription></SOAP-ENV:Body></SOAP-ENV:Envelope>
Request#2:
<?xml
version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl">
<SOAP-ENV:Body>
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
<prt0:registrationContext
xsi:nil="true"/>
<prt0:desiredLocales
xsi:nil="true"/>
</prt0:getServiceDescription>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ORACLE
Response#2:
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Internal Server Error (deserialization error:
unexpected null value for literal data)</faultstring>
</env:Fault>
</env:Body>
</env:Envelope>
--------------------
Unedited
request#3:
<?xml
version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"><SOAP-ENV:Body><prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types"><prt0:registrationContext/><prt0:desiredLocales/></prt0:getServiceDescription></SOAP-ENV:Body></SOAP-ENV:Envelope>
Request#3:
<?xml
version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl">
<SOAP-ENV:Body>
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
<prt0:registrationContext/>
<prt0:desiredLocales/>
</prt0:getServiceDescription>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ORACLE
Response#3:
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Internal Server Error (deserialization error:
deserialization error: expected element is missing:
{urn:oasis:names:tc:wsrp:v1:types}registrationContext)</faultstring>
</env:Fault>
</env:Body>
</env:Envelope>
--------------------
Unedited
request#4:
<?xml
version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl" xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"><SOAP-ENV:Body><prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types"><prt0:registrationContext/></prt0:getServiceDescription></SOAP-ENV:Body></SOAP-ENV:Envelope>
Request#4:
<?xml
version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl">
<SOAP-ENV:Body>
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
<prt0:registrationContext/>
</prt0:getServiceDescription>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ORACLE
Response#4:
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Internal Server Error (deserialization error:
deserialization error: expected element is missing:
{urn:oasis:names:tc:wsrp:v1:types}registrationContext)</faultstring>
</env:Fault>
</env:Body>
</env:Envelope>
The
only successful attempt was with Citrix producer as described bellow:
Unedited
response:
<?xml
version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"><SOAP-ENV:Body><prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types"></prt0:getServiceDescription></SOAP-ENV:Body></SOAP-ENV:Envelope>
Response:
<?xml
version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wn3="http://www.w3.org/1999/XMLSchema"
xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
xmlns:wn1="http://www.w3.org/2001/XMLSchema"
xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl">
<SOAP-ENV:Body>
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
</prt0:getServiceDescription>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Citrix
Response:
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">
<soap:Header>
<wsa:From>
<wsa:Address>http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous</wsa:Address>
</wsa:From>
<wsa:MessageID>uuid:e8cf8fbc-954f-4c68-872b-74c93392ab5e</wsa:MessageID>
<wsu:Timestamp>
<wsu:Created>2004-03-15T14:22:18Z</wsu:Created>
<wsu:Expires>2004-03-15T14:27:18Z</wsu:Expires>
</wsu:Timestamp>
</soap:Header>
<soap:Body>
<getServiceDescriptionResponse
xmlns="urn:oasis:names:tc:wsrp:v1:types">
<requiresRegistration>true</requiresRegistration>
<registrationPropertyDescription>
<propertyDescriptions name="producerAgent:Citrix:NETlets:1.0"
type="xsd:string"/>
<propertyDescriptions name="DIME"
xmlns:q1="urn:citrix.com/wsrp" type="q1:informational"/>
<propertyDescriptions
name="applicationCachingScopes"
xmlns:q2="urn:citrix.com/wsrp" type="q2:informational"/>
<propertyDescriptions name="resourcesDirect"
xmlns:q3="urn:citrix.com/wsrp" type="q3:informational"/>
</registrationPropertyDescription>
</getServiceDescriptionResponse>
</soap:Body>
</soap:Envelope>