SOAP::Lite WSDL / namespace issue

Leon Brocard <[email protected]>
Newsgroups gmane.comp.windows.devel.soap.general
Message-ID <20020814110156.GA30208@ns0>
Hullo, I'm getting a problem with namespaces in SOAP::Lite latest
version on 5.8 and haven't got the faintest idea how to solve it.

* script

#!/usr/bin/perl -w

use strict;
use SOAP::Lite +trace => qw(debug);

my $s = SOAP::Lite->service('file:./wsdl/VxDPDESession.wsdl');
$s->Login("guest", "password");

* debug output

SOAP::Transport::HTTP::Client::send_receive: POST http://192.168.1.55:5555/VxDPDE/
Accept: text/xml
Accept: multipart/*
Content-Length: 574
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.fotango.com/VxDPDE/Session#Login"

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><namesp1:Login
xmlns:namesp1="http://www.fotango.com/VxDPDE/Session"><username
xsi:type="xs:string">guest</username><password
xsi:type="xs:string">password</password></namesp1:Login></SOAP-ENV:Body></SOAP-ENV:Envelope>

SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error
Connection: close
Server: Indy/9.00.10
Content-Length: 601
Content-Type: text/xml; charset=utf-8
Client-Date: Wed, 14 Aug 2002 10:35:31 GMT
Client-Response-Num: 1

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:faultCode>SOAP-ENV:Server</SOAP-ENV:faultCode><SOAP-ENV:faultString>The
Namespace xs in the entity Type attribute on Element username could
not be resolved</SOAP-ENV:faultString><detail
xsi:type="EIdSoapNamespaceProblem"></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

500 Internal Server Error at client.pl line 8

So, as I understand it, the error is that SOAP::Lite is sending
xsi:type="xs:string" but is not defining the xs: namespace. Is that
accurate? How would I go about adding the namespace?

* important bits in the WSDL file

<?xml version="1.0" encoding="UTF-8"?>
<definitions
    name="IVxDPDESession"
    targetNamespace="http://www.fotango.com/VxDPDE/Session"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:ns1="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://www.fotango.com/VxDPDE/Session"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
  <message
      name="Login">
    <part
        name="username"
        type="xs:string"/>
    <part
        name="password"
        type="xs:string"/>
  </message>
...
    <operation
        name="Login">
      <input
          message="tns:Login"/>
      <output
          message="tns:LoginResponse"/>
    </operation>

Many thanks, Leon
--
Leon Brocard.............................http://www.astray.com/
scribot.................................http://www.scribot.com/

... Artificial Intelligence usually beats real stupidity

You can read messages from the SOAP archive, unsubscribe from SOAP, or subscribe to other
DevelopMentor lists at http://discuss.develop.com.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.