All,

I am trying to get a wsdl generated which also has the <wsdl:types> tags so
my webservice consumer knows who to map my java types. I want to return a
list of Strings but no complex types or anything is created. My client
always complains about "no types in definition".

What do I have to do that the type mapping is created inside the wsdl?

Here is my spring conf:
====================

<jaxws:endpoint 
          id="filerouterService"
          implementor="#filerouterServiceImpl" 
          address="http://${wsServer}:${wsPort}/filerouter"; >
</jaxws:endpoint>
========================


And this is my webservice interface:
================================

@WebService(name="TestServices")
public interface FilerouterServices {

    @WebMethod(operationName = "echoString", action = "urn:EchoString")
    @WebResult(name = "echoResult")
    String echoString( String text);
    
    @WebMethod(operationName = "checkPortalDB", action =
"urn:checkPortalDB")
    @WebResult(name = "checkPortalResult")
    int checkPortalDB( String test);
    
    @WebMethod(operationName = "uploadLicence", action =
"urn:uploadLicence")
    @WebResult(name = "uploadLicenceResult")
    String uploadLicence( String data);

    @WebMethod(operationName = "displayLicence", action =
"urn:displayLicence")
    @WebResult(name = "displayLicenceResult")
        List<String> displayLicence();
}
=================================


The resulting WSDL looks like this:
===============================
<?xml version="1.0" encoding="UTF-8" ?> 
- <>  <wsdl:definitions name="FilerouterServices"
targetNamespace="http://impl.ws.filerouter.test/"; xmlns:ns1="http://test/";
xmlns:ns2="http://schemas.xmlsoap.org/soap/http";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tns="http://impl.ws.filerouter.test/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";> 
<wsdl:import
location="http://localhost:9000/filerouter?wsdl=TestServices.wsdl";
namespace="http://test/"; /> 
- <>  <wsdl:binding name="FilerouterServicesSoapBinding"
type="ns1:TestServices"> 
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; /> 
- <>  <wsdl:operation name="displayLicence"> 
<soap:operation soapAction="urn:displayLicence" style="document" /> 
- <>  <wsdl:input name="displayLicence"> 
<soap:body use="literal" /> 
</wsdl:input> 
- <>  <wsdl:output name="displayLicenceResponse"> 
<soap:body use="literal" /> 
</wsdl:output> 
</wsdl:operation> 
- <>  <wsdl:operation name="uploadLicence"> 
<soap:operation soapAction="urn:uploadLicence" style="document" /> 
- <>  <wsdl:input name="uploadLicence"> 
<soap:body use="literal" /> 
</wsdl:input> 
- <>  <wsdl:output name="uploadLicenceResponse"> 
<soap:body use="literal" /> 
</wsdl:output> 
</wsdl:operation> 
- <>  <wsdl:operation name="echoString"> 
<soap:operation soapAction="urn:EchoString" style="document" /> 
- <>  <wsdl:input name="echoString"> 
<soap:body use="literal" /> 
</wsdl:input> 
- <>  <wsdl:output name="echoStringResponse"> 
<soap:body use="literal" /> 
</wsdl:output> 
</wsdl:operation> 
- <>  <wsdl:operation name="checkPortalDB"> 
<soap:operation soapAction="urn:checkPortalDB" style="document" /> 
- <>  <wsdl:input name="checkPortalDB"> 
<soap:body use="literal" /> 
</wsdl:input> 
- <>  <wsdl:output name="checkPortalDBResponse"> 
<soap:body use="literal" /> 
</wsdl:output> 
</wsdl:operation> 
</wsdl:binding> 
- <>  <wsdl:service name="FilerouterServices"> 
- <>  <wsdl:port binding="tns:FilerouterServicesSoapBinding"
name="FilerouterServicesImplPort"> 
<soap:address location="http://neelix:9000/filerouter"; /> 
</wsdl:port> 
</wsdl:service> 
</wsdl:definitions>
============

Thanks,

Marcus

Reply via email to