hmm, i'm trying to expose a stateless session bean as a webservice on jboss-4.0.
This all goes well ... until i try to invoke it, at which point it throws the exception shown below.
I have a feeling it has something to do with a faulty namespace in the wsdl file, but can't pinpoint the problem.
I've included the .wsdd and .wsdl files in this email.
if any of you has any clues as to what is causing this, help would be greatly appreciated.
=====================
excerpt from the error thrown
=====================
2005-09-22 22:27:22,812 ERROR [org.jboss.webservice.server
.ServerEngine] Server error: AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: Deserializing parameter 'sayHi': could not find deserializer for type {urn:HiWs/types}sayHi
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: Deserializing parameter 'sayHi': could not find deserializer for type {urn:HiWs/types}sayHi
==========
HiWs.wsdd
==========
<deployment
xmlns='http://xml.apache.org/axis/wsdd/'
xmlns:java='http://xml.apache.org/axis/wsdd/providers/java'
xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:xsi='http://www.w3.org/2000/10/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<service name='HiWs' style='document' use='literal' provider='Handler'>
<parameter name='webservice-identifier' value='HiWS.jar#HiWs' />
<parameter name='handlerClass' value='org.jboss.webservice.server.InvokerProviderEJB' />
<operation
name='sayHi'
qname='ns1:sayHi'
returnQName='ns2:sayHiResponse'
returnType='ns2:sayHiResponse'
xmlns:ns1='urn:HiWs/wsdl'
xmlns:ns2='urn:HiWs/types' >
<parameter
name='parameters'
qname='ns2:sayHi'
mode='IN'
type='ns2:sayHi'
xmlns:ns2='urn:HiWs/types' />
</operation>
<!-- Ignore type mapping
<typeMapping
qname='ns2:sayHi' xmlns:ns2='urn:HiWs/types'
type='java:org.me.hi.HiWsSEI_sayHi_RequestStruct'
serializer='null'
deserializer='null'
encodingStyle=''>
</typeMapping>
-->
<!-- Ignore type mapping
<typeMapping
qname='ns2:sayHiResponse' xmlns:ns2='urn:HiWs/types'
type='java:org.me.hi.HiWsSEI_sayHi_ResponseStruct'
serializer='null'
deserializer='null'
encodingStyle=''>
</typeMapping>
-->
</service>
</deployment>
============
HiWs.wsdl
============
<?xml version="1.0" encoding="UTF-8"?>
<definitions
name="HiWs"
targetNamespace="urn:HiWs/wsdl"
xmlns:tns="urn:HiWs/wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="urn:HiWs/types"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema
targetNamespace="urn:HiWs/types"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="urn:HiWs/types"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<complexType name="sayHi">
<sequence>
<element name="String_1" nillable="true" type="string"/></sequence>
</complexType>
<complexType name="sayHiResponse">
<sequence>
<element name="result" nillable="true" type="string"/></sequence>
</complexType>
<element name="sayHi" type="tns:sayHi"/>
<element name="sayHiResponse" type="tns:sayHiResponse"/>
</schema>
</types>
<message name="HiWsSEI_sayHiResponse">
<part name="result" element="ns2:sayHiResponse"/>
</message>
<message name="HiWsSEI_sayHi">
<part name="parameters" element="ns2:sayHi"/>
</message>
<portType name="HiWsSEI">
<operation name="sayHi">
<input message="tns:HiWsSEI_sayHi"/>
<output message="tns:HiWsSEI_sayHiResponse"/>
</operation>
</portType>
<binding name="HiWsSEIBinding" type="tns:HiWsSEI">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/ >
<operation name="sayHi">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="HiWs">
<port name="HiWsSEIPort" binding="tns:HiWsSEIBinding">
<soap:address location="http://localhost:8080/HiWS/HiWs"/>
</port>
</service>
</definitions>
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: Deserializing parameter 'sayHi': could not find deserializer for type {urn:HiWs/types}sayHi
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: Deserializing parameter 'sayHi': could not find deserializer for type {urn:HiWs/types}sayHi
==========
HiWs.wsdd
==========
<deployment
xmlns='http://xml.apache.org/axis/wsdd/'
xmlns:java='http://xml.apache.org/axis/wsdd/providers/java'
xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:xsi='http://www.w3.org/2000/10/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<service name='HiWs' style='document' use='literal' provider='Handler'>
<parameter name='webservice-identifier' value='HiWS.jar#HiWs' />
<parameter name='handlerClass' value='org.jboss.webservice.server.InvokerProviderEJB' />
<operation
name='sayHi'
qname='ns1:sayHi'
returnQName='ns2:sayHiResponse'
returnType='ns2:sayHiResponse'
xmlns:ns1='urn:HiWs/wsdl'
xmlns:ns2='urn:HiWs/types' >
<parameter
name='parameters'
qname='ns2:sayHi'
mode='IN'
type='ns2:sayHi'
xmlns:ns2='urn:HiWs/types' />
</operation>
<!-- Ignore type mapping
<typeMapping
qname='ns2:sayHi' xmlns:ns2='urn:HiWs/types'
type='java:org.me.hi.HiWsSEI_sayHi_RequestStruct'
serializer='null'
deserializer='null'
encodingStyle=''>
</typeMapping>
-->
<!-- Ignore type mapping
<typeMapping
qname='ns2:sayHiResponse' xmlns:ns2='urn:HiWs/types'
type='java:org.me.hi.HiWsSEI_sayHi_ResponseStruct'
serializer='null'
deserializer='null'
encodingStyle=''>
</typeMapping>
-->
</service>
</deployment>
============
HiWs.wsdl
============
<?xml version="1.0" encoding="UTF-8"?>
<definitions
name="HiWs"
targetNamespace="urn:HiWs/wsdl"
xmlns:tns="urn:HiWs/wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="urn:HiWs/types"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema
targetNamespace="urn:HiWs/types"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="urn:HiWs/types"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<complexType name="sayHi">
<sequence>
<element name="String_1" nillable="true" type="string"/></sequence>
</complexType>
<complexType name="sayHiResponse">
<sequence>
<element name="result" nillable="true" type="string"/></sequence>
</complexType>
<element name="sayHi" type="tns:sayHi"/>
<element name="sayHiResponse" type="tns:sayHiResponse"/>
</schema>
</types>
<message name="HiWsSEI_sayHiResponse">
<part name="result" element="ns2:sayHiResponse"/>
</message>
<message name="HiWsSEI_sayHi">
<part name="parameters" element="ns2:sayHi"/>
</message>
<portType name="HiWsSEI">
<operation name="sayHi">
<input message="tns:HiWsSEI_sayHi"/>
<output message="tns:HiWsSEI_sayHiResponse"/>
</operation>
</portType>
<binding name="HiWsSEIBinding" type="tns:HiWsSEI">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/ >
<operation name="sayHi">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="HiWs">
<port name="HiWsSEIPort" binding="tns:HiWsSEIBinding">
<soap:address location="http://localhost:8080/HiWS/HiWs"/>
</port>
</service>
</definitions>
