Your envelope there looks like it's in "encoded" form, and not document form
(which is the default for webservices and clients). Open up your client
(either your web reference or your WSDL.exe generated code) and if your
methods do not have a SoapDocumentMethodAttribute applied to it, then apply
one in this basic format:

[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:your:action:
uri", Use=System.Web.Services.Description.SoapBindingUse.Encoded)]

Note the Use= parameter there (that's the one that's important in this
case). In case you're not familiar with the encoding types, etc,
SoapBindingUse.Literal indicates you want an envelope that looks like so:

<soap:Envelope>
        <soap:Body>
                <YourXml>
                        <X>1</X>
                </YourXml>
        </soap:Body>
</soap:Envelope>

SoapBindingUse.Encoded indicates you want an envelope that looks like yours:

<soap:Envelope>
        <soap:Body>
                <YourObject href="#1"/>

                <YourObject id="1">
                        <X>1</X>
                </YourObject>
        </soap:Body>
</soap:Envelope>

Unfortunately, if a web service call that doesn't generate a fault doesn't
send back encoded data for the entire soap:Body, then this obviously won't
be a solution and honestly I'm not sure what will work for you. Anyway, let
me know if this doesn't help.

Adam..

> -----Original Message-----
> From: Unmoderated discussion of advanced .NET topics.
> [mailto:[EMAIL PROTECTED] On Behalf Of
> ravi teja veerla
> Sent: Friday, July 15, 2005 4:09 PM
> To: [email protected]
> Subject: Re: [ADVANCED-DOTNET] problem with soap faults from
> a java/axis webservice
>
> Adam,
> Here is one of the soap fault messages. It looks like a valid
> xml document. see if you can find something.
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>
> <soapenv:Body>
>
> <soapenv:Fault>
>
> <faultcode>soapenv:Server.generalException</faultcode>
>
> <faultstring/>
>
> <detail>
>
> <ns1:fault href="#id0"
> xmlns:ns1="http://www.Yellonet.com/xyx/xyxapi/r99_00_01/Subscr
> iberService"/>
>
> <ns2:exceptionName
> xmlns:ns2="http://xml.apache.org/axis/";>com.Yello.xyx.api.r99_
> 00_01.model.xyxAPIInternalException</ns2:exceptionName>
>
> </detail>
>
> </soapenv:Fault>
>
> <multiRef id="id0" soapenc:root="0"
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin
> g/" xsi:type="ns3:xyxAPIInternalException"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:ns3="http://www.Yellonet.com/xyx/xyxapi/r99_00_01/model";>
>
> <message xsi:type="xsd:string">Could not find Subscriber
> externalKey=100023455.</message>
>
> <exceptionDetails href="#id1"/>
>
> <exceptionDetails href="#id2"/>
>
> <exceptionDetails href="#id3"/>
>
> <errorCode xsi:type="soapenc:int">16</errorCode>
>
> <messageKey
> xsi:type="xsd:string">message.operation.InstanceNotFoundExcept
> ion</messageKey>
>
> <messageArgs xsi:type="xsd:string">Subscriber</messageArgs>
>
> <messageArgs xsi:type="xsd:string">externalKey=100023455</messageArgs>
>
> </multiRef>
>
> <multiRef id="id1" soapenc:root="0"
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin
> g/" xsi:type="ns4:NamedValue"
> xmlns:ns4="http://www.Yellonet.com/xyx/xyxapi/r99_00_01/model";
>  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
>
> <name xsi:type="xsd:string">keyName0</name>
>
> <value xsi:type="xsd:string">externalKey</value>
>
> </multiRef>
>
> <multiRef id="id2" soapenc:root="0"
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin
> g/" xsi:type="ns5:NamedValue"
> xmlns:ns5="http://www.Yellonet.com/xyx/xyxapi/r99_00_01/model";
>  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
>
> <name xsi:type="xsd:string">className</name>
>
> <value xsi:type="xsd:string">Subscriber</value>
>
> </multiRef>
>
> <multiRef id="id3" soapenc:root="0"
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin
> g/" xsi:type="ns6:NamedValue"
> xmlns:ns6="http://www.Yellonet.com/xyx/xyxapi/r99_00_01/model";
>  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
>
> <name xsi:type="xsd:string">keyValue0</name>
>
> <value xsi:type="xsd:string">100023455</value>
>
> </multiRef>
>
> </soapenv:Body>
>
> </soapenv:Envelope>

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to