Sorry - should have omitted <prt0:desiredLocales/>
below altogether! The previous message would have the empty string as
its single desiredLocale. So what I meant was the following, as it is
valid for desiredLocales not to occur at all.
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
<prt0:registrationContext
xsi:nil="true"/>
</prt0:getServiceDescription>
Regards
Dave
]
David Ward wrote:
For the record, I would expect the Oracle producer to work with the
following schema-compliant message
<prt0:getServiceDescription
xmlns:prt0="urn:oasis:names:tc:wsrp:v1:types">
<prt0:registrationContext
xsi:nil="true"/>
<prt0:desiredLocales/>
</prt0:getServiceDescription>
I guess it's the only combination you had left to try! Note that
registrationContext is defined as mandatory but nillable, whereas
desiredLocales is optional but not nillable.
Regards
David Ward
Rich Thompson wrote:
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
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>
--
David Ward
Principal Software Engineer
Portlet Technologies
Oracle Portal
|
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK |
|
--
David Ward
Principal Software Engineer
Portlet Technologies
Oracle Portal
|
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK |
|
|