users@jax-rpc.java.net

Namespaces causing a .NET interoperability issue

From: Sam Gardner-Dell <sgardner-dell_at_piper-group.com>
Date: Wed, 15 Dec 2004 15:52:53 -0000

Hi folks,

I am having difficulties when attempting to send a message to a .NET web-service (written with vb).

This is an example of what is generated by JAX-RPC when it sends a message to the VB web-service. You'll notice that the namespace ns0 is defined and then the sendExternalEndpointForm element is prefixed with ns0 to qualify it for this namespace.
Although syntactically correct, the vb.net service ignores the contents of String_1 in this circumstance (writing an empty string to disk), even though the IIS server issues a 200 OK response, with a SOAP response that indicates success.

POST /trilogitest/Service1.asmx HTTP/1.1
Content-Type: text/xml; charset="utf-8"
Content-Length: 530
SOAPAction: "http://www.trilogi.co.uk/clientxmlrpc/sendExternalEndpointForm"
Host: localhost

<?xml version="1.0" encoding="UTF-8"?><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="http://www.trilogi.co.uk/clientxmlrpc" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><ns0:sendExternalEndpointForm><String_1 xsi:type="xsd:string">Some String Message</String_1></ns0:sendExternalEndpointForm></env:Body></env:Envelope>


However removing the ns0 definition and explicitly qualifying the namespace for sendExternalEndpointForm as show below resolves the issue, vb.net processes this next request perfectly, writing the string to a file on disk as expected:

POST /trilogitest/Service1.asmx HTTP/1.1
Content-Type: text/xml; charset="utf-8"
Content-Length: 518
SOAPAction: "http://www.trilogi.co.uk/clientxmlrpc/sendExternalEndpointForm"
Host: localhost

<?xml version="1.0" encoding="UTF-8"?><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/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><sendExternalEndpointForm xmlns="http://www.trilogi.co.uk/clientxmlrpc"><String_1 xsi:type="xsd:string">Some String Message</String_1></sendExternalEndpointForm></env:Body></env:Envelope>


I can appreciate that this may be considered a .NET interoperability issue but if anyone has any suggestions I would very much like to hear them.
Thanks in advance,


Sam Gardner-Dell
Analyst Developer
Piper Group plc
Email: sgardner-dell_at_piper-group.com
Tel: + 44 (0) 1454 284900
Fax: + 44 (0) 1454 284950
Mobile:+ 44 (0) 7967 681415
www.piper-group.com
Information contained in this e-mail is intended for the use of the addressee only, and is confidential and may be the subject of legal professional privilege. Any dissemination, distribution, copying or use of this communication without permission of the addressee is strictly prohibited. The views expressed in this communication may not necessarily be the views held by Piper Group plc.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net