Hi,
Following is the WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdlsoap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NewWSDLFile"
targetNamespace="
http://myns/schemas/2006/3/3/sci//sciwsdl"
xmlns:xsd1="
http://myns/schemas/2006/3/3/sci/sci
">
<wsdl:types>
<xsd:schema
targetNamespace="
http://myns/schemas/2006/3/3/sci/sciwsdl"
xmlns:scx="http://myns/schemas/2006/3/3/sci/
"
elementFormDefault="qualified">
<xsd:import
namespace="
http://myns/schemas/2006/3/3/sci/sci"
schemaLocation="http://localhost:8080/schemas/sci.xsd
" />
<xsd:element name="PutConfigRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="scx:SCIConfigRoot" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="PutConfigResponse">
<xsd:complexType />
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="PutConfigResponse">
<wsdl:part element="tns:PutConfigResponse" name="PutConfigResponse" />
</wsdl:message>
<wsdl:message name="PutConfigRequest">
<wsdl:part element="tns:PutCongfigRequest" name="PutConfigRequest" />
</wsdl:message>
<wsdl:portType name="SCIConfig">
<wsdl:operation name="putConfig">
<wsdl:input message="tns:PutConfigRequest" />
<wsdl:output message="tns:PutConfigResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="sciconfigSoapBinding" type="tns:SCIConfig">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http
" />
<wsdl:operation name="putConfig">
<wsdlsoap:operation
soapAction="
http://myns/schemas/2006/3/3/sci/putSCI" />
<wsdl:input>
<wsdlsoap:body parts="PutConfigRequest" use="literal" />
</wsdl:input>
<wsdl:output>
<wsdlsoap:body parts="PutConfigResponse" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="config">
<wsdl:port binding="tns:sciconfigSoapBinding"
name="config">
<wsdlsoap:address
location="
http://localhost:8080/jce/services/config" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
I wrap my request xml (which goes into the envelop body into a putConfig to help it identify the 'Message' type method on the server.
public SOAPBodyElement[] putConfig(SOAPBodyElement[] bodies)
The xml which I set in the SOAPBodyElement[0] is
<putConfig>
<scx:ConfigRoot
xmlns:scx="
http://myns/schemas/2006/3/3/sci/"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
"
serviceGroup="travelDepartment" >
<scx:Policies>
<thttp:TransportPolicy name="
default.soap.http.policy"
xmlns:thttp="
http://myns/schemas/2006/3/3/transport">
<thttp:AllowHttp10 >false</thttp:AllowHttp10>
</thttp:TransportPolicy>
</scx:Policies>
</scx:ConfigRoot>
</putConfig>
On the client side log I see org.apache.axis.ConfigurationException: No service named config is available. Though I could see it using the admin page of axis.
(
There is an entry
<service name="config" provider="java:MSG" style="document" use="literal">
in server-config.wsdd
)
Another thing which I obseve is
java] - org.apache.axis.i18n.resource::handleGetObject
(register00)
[java] - register 'soapenv' - 'http://schemas.xmlsoap.org/soap/envelope/'
[java] - NSPush (32)
[java] - NSPush (32)
[java] - org.apache.axis.i18n.resource::handleGetObject(register00)
[java] - register 'soapenv' - '
http://schemas.xmlsoap.org/soap/envelope/
'
[java] - org.apache.axis.i18n.resource::handleGetObject(register00)
[java] - register 'xsd' - '
http://www.w3.org/2001/XMLSchema'
[java] - NSPush (32)
[java] - org.apache.axis.i18n.resource::handleGetObject(register00)
[java] - register 'xsi' - '
http://www.w3.org/2001/XMLSchema-instance'
[java] - NSPush (32)
[java] - org.apache.axis.i18n.resource::handleGetObject(startElem00)
[java] - Start element [
http://schemas.xmlsoap.org/soap/envelope/]:Envelope
[java] - org.apache.axis.i18n.resource::handleGetObject(startElem00)
[java] - Start element [
http://schemas.xmlsoap.org/soap/envelope/]:Body
[java] - NSPush (32)
[java] - org.apache.axis.i18n.resource::handleGetObject(startElem00)
[java] - Start element []:putConfig
[java] - NSPush (32)
[java] - org.apache.axis.i18n.resource::handleGetObject
(startElem00)
[java] - Start element []:scx:SCIConfigRoot
[java] - org.apache.axis.i18n.resource::handleGetObject(register00)
[java] - register 'scx' - ''
[java] - NSPush (32)
[java] - NSPush (32)
I think the namespace could be defined at any element in the xml document. This does not seems to be the case.
Please correct me If I am wrong.
If I explicitely put the namespace definition in all of the quaulified elements, the method works fine.
for example:
<putConfig>
<scx:ConfigRoot
xmlns:scx="
http://myns/schemas/2006/3/3/sci/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
"
serviceGroup="travelDepartment" >
<scx:Policies>
<thttp:TransportPolicy name="default.soap.http.policy"
xmlns:thttp="
http://myns/schemas/2006/3/3/transport
">
<thttp:AllowHttp10 xmlns:thttp="
http://myns/schemas/2006/3/3/transport" >false</thttp:AllowHttp10>
</thttp:TransportPolicy>
</scx:Policies>
</scx:ConfigRoot>
</putConfig>
Thank you,
Vikas
------=_Part_12784_26255881.1141997947598
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
WSDL please?
On 3/9/06, Vikas Singh <[EMAIL PROTECTED]> wrote:
>
>
> Hi,
>
> I am using Axis
1.3 . My xsds have elementFormDefault=3D"qualified". I a=
m
> trying to send the following xml as a soap request (doc/lit wrapped) .:
> <?xml version=3D"1.0
" encoding=3D"UTF-8"?>
> <scx:ConfigRoot
> xmlns:scx=3D"http://myns/schemas/2006/3/3/sci/"
> xmlns:xsi=3D"
http://www.w3.org/2001/XMLSchema-instance"
> serviceGroup=3D"travelDepartment" >
> <scx:Policies>
> <thttp:TransportPolicy name=3D"default.soap.http.policy
"
> xmlns:thttp=3D"
http://myns/schemas/2006/3/3/transport">
> <thttp:AllowHttp10 >false</thttp:AllowHttp10>
> </thttp:TransportPolicy>
> </scx:Policies>
> </scx:ConfigRoot>
>
> The request body generated by by Axis is as following:
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <soapenv:Envelope xmlns:soapenv=3D"
>
http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=3D"
> http://www.w3.org/2001/XMLSchema
" xmlns:xsi=3D"
> http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <putConfig>
> <scx:ConfigRoot serviceGroup=3D"travelDepartment" xmlns:scx=
=3D"
>
http://myns/schemas/2006/3/3/sci/" xmlns:xsi=3D"
> http://www.w3.org/2001/XMLSchema-instance
">
> <scx:Policies xmlns:scx=3D"">
> <thttp:TransportPolicy name=3D"default.soap.http.policy=
"
> xmlns:thttp=3D"
http://myns/schemas/2006/3/3/transport">
> <thttp:AllowHttp10 xmlns:thttp=3D"">false</thttp:All=
owHttp10>
>
> </thttp:TransportPolicy>
> </scx:Policies>
> </scx:ConfigRoot>
> </putConfig>
> </soapenv:Body>
> </soapenv:Envelope>
>
> As per
http://issues.apache.org/jira/browse/AXIS-1807 , it is already
> resolved (during v
1.2) .
> Please let me know if anyone could resolve this issue.
>
> Thank you,
> Vikas
>