* Heiko Jansen ([email protected]) [160216 16:34]: > For some reason, the commands to create and destroy a session are using the > document/literal encoding style while the other commands have to be send as > rpc-encoded messages.
Juk! I disgust RPC-style. > Session creation and destruction work fine. > We´ve already found out that we have to add "use > XML::Compile::SOAP11::Encoding;" and that we have to create a different > XML::Compile::WSDL11 object to feed the WSDL files for the other commands > to. You only need one WSDL11 object per program. > JAXRPCTIE01: Ausnahmefehler beim Bearbeiten der Anforderung: Unerwarteter > Kodierungsstil: erwartet=http://schemas.xmlsoap.org/soap/encoding/, tats > \xC3\xA4chlich= > > which roughly translates to > > "Exception: unexpected encoding style: expected=http://schemas.xmlsoap.org/ > soap/encoding/, got=" It should select that automatically. (I speak/understand German, but don't ask me to write it) > The request message indeed doesn´t contain an "encodingStyle" attribute > anywhere. > > The WSDL declares the usage of the encoding style: > > -- snip -- > <binding name="XYZShowDataInterfaceBinding" type="tns:XYZShowDataInterface"> > <soap:binding > transport="http://schemas.xmlsoap.org/soap/http" > style="rpc"/> > <operation name="executeXYZShowData"> > <soap:operation soapAction=""/> > <input> > <soap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > use="encoded" > namespace="urn:xyz"/> > </input> > -- / snip -- > > The "Envelope" element that´s currently generated looks like this: > > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ > envelope/"> > > If I manually change that to > > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ > envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/ > encoding/"> > > and re-submit the modified message using lwp-request the server accepts the > request. The SOAP11 schema explicitly forbids this "encodingStyle" attribute: <xs:element name="Envelope" type="tns:Envelope"/> <xs:complexType name="Envelope"> <xs:sequence>...</xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> Also, you specify the SOAP1.1 namespace as encodingStyle, which is definitively incorrect. > Until now I´ve been unable to find out how I´m supposed to enforce the > presence of the missing attribute. > Any suggestions? I think there is something else which troubles this. My RPC support is a but shaky: gladly nearly no-one uses that anymore. If you can send me a small script which demonstrates your problem, I'll have a look at it. -- Regards, MarkOv ------------------------------------------------------------------------ Mark Overmeer MSc MARKOV Solutions [email protected] [email protected] http://Mark.Overmeer.net http://solutions.overmeer.net _______________________________________________ Xml-compile mailing list [email protected] http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile
