By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,887 Members | 1,246 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,887 IT Pros & Developers. It's quick & easy.

.Net Client calling Apache WebService: Problem with NULL-Values

P: n/a
Hello,

i am trying to call a Apache WebService, which accepts NULL-Values for
some Parameters of a specific Web-Method. NULL-Values are mapped
within the soap-request by the .NET Client corresponding to the
following example-schema:

<ffin xsi:nil="true" />

the problem is that Apache expects the following request-schema:

<ffin xsi:type="xsd:string" xsi:nil="true"/>

otherwise Apache responds with an exception.

How can i get my .Net Web-Service Client to add the
missing "xsi:type" attribute

Thank you for your answers!
Nov 11 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Apache What?
Apache SOAP
Apache AXIS?
which version?

Can you show us the WSDL?
"Jens" <je**************@eurobase.lu> wrote in message
news:7b**************************@posting.google.c om...
Hello,

i am trying to call a Apache WebService, which accepts NULL-Values for
some Parameters of a specific Web-Method. NULL-Values are mapped
within the soap-request by the .NET Client corresponding to the
following example-schema:

<ffin xsi:nil="true" />

the problem is that Apache expects the following request-schema:

<ffin xsi:type="xsd:string" xsi:nil="true"/>

otherwise Apache responds with an exception.

How can i get my .Net Web-Service Client to add the
missing "xsi:type" attribute

Thank you for your answers!

Nov 11 '05 #2

P: n/a
Here are the missing informations for the webservice server-side:

Apache SOAP 2.3.1
xercesImpl.jar 2.3.0 Apache XML Parser

and the wsdl file comes here:

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="DispoListe"
targetNamespace="http://ws.dispoliste.skoda.eis.de.wsdl/DispoListe/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://ws.dispoliste.skoda.eis.de.wsdl/DispoListe/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://ws.dispoliste.skoda.eis.de/"
xmlns:xsd2="http://state.ws.dispoliste.skoda.eis.de/">
<types>
<schema attributeFormDefault="qualified"
elementFormDefault="unqualified"
targetNamespace="http://ws.dispoliste.skoda.eis.de/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd1="http://ws.dispoliste.skoda.eis.de/"
xmlns:xsd2="http://state.ws.dispoliste.skoda.eis.de/">
<import namespace="http://state.ws.dispoliste.skoda.eis.de/"/>
<import namespace="http://schemas.xmlsoap.org/wsdl/"
schemaLocation="http://schemas.xmlsoap.org/wsdl/"/>
<import
namespace="http://schemas.xmlsoap.org/soap/encoding/"
schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOfDispoListeBean">
<complexContent>
<restriction base="soapenc:Array">
<sequence/>
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd2:DispoListeBean[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
<schema attributeFormDefault="qualified"
elementFormDefault="unqualified"
targetNamespace="http://state.ws.dispoliste.skoda.eis.de/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://state.ws.dispoliste.skoda.eis.de/">
<complexType name="DispoListeBean">
<all>
<element name="ffin" nillable="true"
type="string"/>
<element name="bstlt" nillable="true"
type="string"/>
<element name="fzart" nillable="true"
type="string"/>
<element name="ffaell" nillable="true"
type="decimal"/>
<element name="fhinws" nillable="true"
type="string"/>
<element name="fkomnr" nillable="true"
type="decimal"/>
<element name="hbknna" nillable="true"
type="string"/>
<element name="fzgl" nillable="true"
type="string"/>
<element name="fbmod" nillable="true"
type="string"/>
<element name="fbfarb" nillable="true"
type="string"/>
<element name="flgr" nillable="true"
type="string"/>
<element name="fbopt" nillable="true"
type="string"/>
<element name="f90t" nillable="true"
type="string"/>
<element name="fagl" nillable="true"
type="string"/>
<element name="fredat" nillable="true"
type="decimal"/>
<element name="hbkvna" nillable="true"
type="string"/>
<element name="hahdln" nillable="true"
type="decimal"/>
<element name="frenr" nillable="true"
type="decimal"/>
<element name="fzfrt" nillable="true"
type="decimal"/>
<element name="hfhdln" nillable="true"
type="decimal"/>
<element name="fstsar" nillable="true"
type="string"/>
<element name="fbestd" nillable="true"
type="decimal"/>
<element name="hblfrw" nillable="true"
type="decimal"/>
</all>
</complexType>
</schema>
</types>
<message name="getListeRequest">
<part name="haendlernummer" type="xsd:decimal"/>
<part name="fkomnr" type="xsd:decimal"/>
<part name="ffin" type="xsd:string"/>
<part name="fbmod" type="xsd:string"/>
<part name="orderBy" type="xsd:string"/>
<part name="fromCache" type="xsd:boolean"/>
<part name="testDaten" type="xsd:boolean"/>
</message>
<message name="getListeResponse">
<part name="result" type="xsd1:ArrayOfDispoListeBean"/>
</message>
<portType name="DispoListe">
<operation name="getListe" parameterOrder="haendlernummer
fkomnr ffin fbmod orderBy fromCache testDaten">
<input message="tns:getListeRequest"
name="getListeRequest"/>
<output message="tns:getListeResponse"
name="getListeResponse"/>
</operation>
</portType>
</definitions>
Nov 11 '05 #3

P: n/a
Have you consulted http://ws.apache.org/soap/docs/guide/interop.html
?

Could it be that you are experiencing the soap interop problem described
therein ?

With Apache SOAP v2.x, there was an issue that the Apache soap runtime
required incoming SOAP envelopes to embed an xsi:type on every param. The
SOAP spec does not require this, but the Apache SOAP implementation did.
Implementations of SOAP (such as .NET ) that did not embed xsi:type into
every param tended to confuse Apache SOAP. There is a workaround.

The other (preferred?) workaround is to move your Java implementation to
Apache AXIS. ;)

-D

"Jens" <je**************@eurobase.lu> wrote in message
news:7b**************************@posting.google.c om...
Here are the missing informations for the webservice server-side:

Apache SOAP 2.3.1
xercesImpl.jar 2.3.0 Apache XML Parser

and the wsdl file comes here:

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="DispoListe"
targetNamespace="http://ws.dispoliste.skoda.eis.de.wsdl/DispoListe/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://ws.dispoliste.skoda.eis.de.wsdl/DispoListe/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://ws.dispoliste.skoda.eis.de/"
xmlns:xsd2="http://state.ws.dispoliste.skoda.eis.de/">
<types>
<schema attributeFormDefault="qualified"
elementFormDefault="unqualified"
targetNamespace="http://ws.dispoliste.skoda.eis.de/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd1="http://ws.dispoliste.skoda.eis.de/"
xmlns:xsd2="http://state.ws.dispoliste.skoda.eis.de/">
<import namespace="http://state.ws.dispoliste.skoda.eis.de/"/>
<import namespace="http://schemas.xmlsoap.org/wsdl/"
schemaLocation="http://schemas.xmlsoap.org/wsdl/"/>
<import
namespace="http://schemas.xmlsoap.org/soap/encoding/"
schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOfDispoListeBean">
<complexContent>
<restriction base="soapenc:Array">
<sequence/>
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd2:DispoListeBean[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
<schema attributeFormDefault="qualified"
elementFormDefault="unqualified"
targetNamespace="http://state.ws.dispoliste.skoda.eis.de/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://state.ws.dispoliste.skoda.eis.de/">
<complexType name="DispoListeBean">
<all>
<element name="ffin" nillable="true"
type="string"/>
<element name="bstlt" nillable="true"
type="string"/>
<element name="fzart" nillable="true"
type="string"/>
<element name="ffaell" nillable="true"
type="decimal"/>
<element name="fhinws" nillable="true"
type="string"/>
<element name="fkomnr" nillable="true"
type="decimal"/>
<element name="hbknna" nillable="true"
type="string"/>
<element name="fzgl" nillable="true"
type="string"/>
<element name="fbmod" nillable="true"
type="string"/>
<element name="fbfarb" nillable="true"
type="string"/>
<element name="flgr" nillable="true"
type="string"/>
<element name="fbopt" nillable="true"
type="string"/>
<element name="f90t" nillable="true"
type="string"/>
<element name="fagl" nillable="true"
type="string"/>
<element name="fredat" nillable="true"
type="decimal"/>
<element name="hbkvna" nillable="true"
type="string"/>
<element name="hahdln" nillable="true"
type="decimal"/>
<element name="frenr" nillable="true"
type="decimal"/>
<element name="fzfrt" nillable="true"
type="decimal"/>
<element name="hfhdln" nillable="true"
type="decimal"/>
<element name="fstsar" nillable="true"
type="string"/>
<element name="fbestd" nillable="true"
type="decimal"/>
<element name="hblfrw" nillable="true"
type="decimal"/>
</all>
</complexType>
</schema>
</types>
<message name="getListeRequest">
<part name="haendlernummer" type="xsd:decimal"/>
<part name="fkomnr" type="xsd:decimal"/>
<part name="ffin" type="xsd:string"/>
<part name="fbmod" type="xsd:string"/>
<part name="orderBy" type="xsd:string"/>
<part name="fromCache" type="xsd:boolean"/>
<part name="testDaten" type="xsd:boolean"/>
</message>
<message name="getListeResponse">
<part name="result" type="xsd1:ArrayOfDispoListeBean"/>
</message>
<portType name="DispoListe">
<operation name="getListe" parameterOrder="haendlernummer
fkomnr ffin fbmod orderBy fromCache testDaten">
<input message="tns:getListeRequest"
name="getListeRequest"/>
<output message="tns:getListeResponse"
name="getListeResponse"/>
</operation>
</portType>
</definitions>

Nov 11 '05 #4

P: n/a
Thank you for this information, that seems to hit the problem!
In a first step i will try out the described modifications within the
apache deployment descriptor.

Jens
Nov 11 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.