You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Now Pains Now Gains <no...@gmail.com> on 2010/12/14 19:34:46 UTC

question about RELATIVE URI in xmlns of web service.

Hi All,

Merry Christmas!

I'm creating a client to consume a .NET WS written in C#.  I have no control
of the WS. I'm using axis2/c 1.6.0. I found some interop problem with the
.NET WS. In the .NET WS, some relative URI is used in the xmlns, when I
using the wsdl it provided to generate the stubs for my client, I got the
following errors in the log:

    143 [Tue Dec 14 11:36:39 2010] [info]  Starting addressing out handler
    144 [Tue Dec 14 11:36:39 2010] [debug] addr_out_handler.c(133) No action
present. Stop processing addressing
    145 [Tue Dec 14 11:36:39 2010] [debug] http_transport_sender.c(246)
ctx_epr:http://localhost:9099/abc/services/ClientLoginService.asmx
    146 [Tue Dec 14 11:36:39 2010] [debug] http_transport_sender.c(805)
using axis2 native http sender.
    147 [Tue Dec 14 11:36:39 2010] [debug] http_sender.c(416)
msg_ctx_id:urn:uuid:b5477e66-
07a8-1e01-2276-001a4b53e5b6
    148 [Tue Dec 14 11:36:40 2010] [debug] http_transport_sender.c(822) OP
name axutil_qname_get_localpart = http://www.w3.org/2004/08/wsdl/out-in
*    149 [Tue Dec 14 11:36:40 2010] [error] libxml2_reader_wrapper.c(984)
xmlns: URI Mell.PP.abc.Web.Services is not absolute
*    150  -- VALIDITY ERROR
    151 [Tue Dec 14 11:36:40 2010] [error] libxml2_reader_wrapper.c(464)
error occurred in reading xml stream
    152 [Tue Dec 14 11:36:40 2010] [critical] soap_builder.c(887) SOAP
message does not have a SOAP envelope element
the error happens in 149. The result of this error message is that axis/c
cannot get the envelope element. My question is how can I handle this
interop problem? Is there a way to workaround this?  ( I read some articles
on the internet about this URI problem.W3C.org <http://problem.w3c.org/> has
deprecated relative URI in the XMLNS, somehow, my WS provider is still using
it).

Here is part of the WSDL with the relative xmlns.

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="
http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="
http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="*Mell.PP.abc.Web.Services*"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="
http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="
http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="*
Mell.PP.abc.Web.Services*" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="*
Mell.PP.abc.Web.Services*">
     <s:element name="Login">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userid"
type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="password"
type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="LoginResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="LoginResult"
type="tns:LoginInfo"/>
          </s:sequence>
        </s:complexType>
      </s:element>

Thanks for your help!

Zhang