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.