You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Simone Maletta <si...@alice.it> on 2008/04/03 11:36:41 UTC
wsdl autogenerated error
Hi guys,
I'm using servicemix-jsr181 to develope my work but I've some problem for auto-generated wsdl: here is my testing class:
package echo;
import java.io.Serializable;
import javax.jws.*;
import java.util.*;
@WebService
public class Echo
{
private void Echo()
{
}
@WebMethod
@WebResult(name ="EchoReturnObject")
public EchoReturnObject echo(@WebParam(name ="req")String in)
{
EchoReturnObject p = new EchoReturnObject();
p.resp=in;
p.i=0;
System.out.println(p.resp+" "+p.i);
return p;
}
}
class EchoReturnObject implements Serializable
{
String resp;
int i;
}
and here is my deploy file:
<beans xmlns:xfire="http://xfire.codehaus.org/config/1.0"
xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:wc="urn:/echo.wsdl">
<jsr181:endpoint annotations="jsr181" service="wc:echoService">
<jsr181:pojo>
<!-- <bean class="echo.Echo"/> -->
<bean id="echoService" class="echo.Echo"/>
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="echo" readOnly="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="echoServiceOperation" expression="excecution(* echo.Echo.*(...))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="echoServiceOperation"/>
</aop:config>
</jsr181:pojo>
</jsr181:endpoint>
</beans>
and here is the auto-generated WSDL:
DEBUG - Jsr181Component - <?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:/echo.wsdl" xmlns:ns1="http://echo" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="urn:/echo.wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<wsdl:types>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:/echo.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="echo">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="req" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="echoResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="Resp" nillable="true" type="ns1:EchoReturnObject"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://echo" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="EchoReturnObject"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="echoResponse">
<wsdl:part name="parameters" element="tns:echoResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="echoRequest">
<wsdl:part name="parameters" element="tns:echo">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="echoServicePortType">
<wsdl:operation name="echo">
<wsdl:input name="echoRequest" message="tns:echoRequest">
</wsdl:input>
<wsdl:output name="echoResponse" message="tns:echoResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
The return type is empty: it does not generate the type following the class.
I'm using servicemix 3.1.2 but I upgraded the module to the 3.2 version as seen in the nabble: http://www.mail-archive.com/user@xfire.codehaus.org/msg01746.html
but nothing change.
Where the problem come from??
May I control this without changing servicemix component?
Thank you very much guys, please help me!!!!
Cheers,
Simone
Re: wsdl autogenerated error
Posted by Guillaume Nodet <gn...@gmail.com>.
Have you tried annotating your pojo with the required jaxb2 annotations ?
Look at the generated beans for the wsdl-first example ...
On Thu, Apr 3, 2008 at 11:36 AM, Simone Maletta <si...@alice.it> wrote:
> Hi guys,
> I'm using servicemix-jsr181 to develope my work but I've some problem for auto-generated wsdl: here is my testing class:
> package echo;
>
> import java.io.Serializable;
> import javax.jws.*;
> import java.util.*;
>
> @WebService
> public class Echo
> {
>
> private void Echo()
> {
> }
>
> @WebMethod
> @WebResult(name ="EchoReturnObject")
> public EchoReturnObject echo(@WebParam(name ="req")String in)
> {
> EchoReturnObject p = new EchoReturnObject();
> p.resp=in;
> p.i=0;
> System.out.println(p.resp+" "+p.i);
> return p;
> }
> }
>
> class EchoReturnObject implements Serializable
> {
> String resp;
> int i;
> }
>
>
> and here is my deploy file:
>
>
> <beans xmlns:xfire="http://xfire.codehaus.org/config/1.0"
> xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
> xmlns:tx="http://www.springframework.org/schema/tx"
> xmlns:aop="http://www.springframework.org/schema/aop"
> xmlns:wc="urn:/echo.wsdl">
>
>
> <jsr181:endpoint annotations="jsr181" service="wc:echoService">
> <jsr181:pojo>
> <!-- <bean class="echo.Echo"/> -->
>
> <bean id="echoService" class="echo.Echo"/>
> <tx:advice id="txAdvice">
> <tx:attributes>
> <tx:method name="echo" readOnly="true"/>
> </tx:attributes>
> </tx:advice>
>
> <aop:config>
> <aop:pointcut id="echoServiceOperation" expression="excecution(* echo.Echo.*(...))"/>
> <aop:advisor advice-ref="txAdvice" pointcut-ref="echoServiceOperation"/>
> </aop:config>
> </jsr181:pojo>
> </jsr181:endpoint>
> </beans>
>
> and here is the auto-generated WSDL:
>
> DEBUG - Jsr181Component - <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="urn:/echo.wsdl" xmlns:ns1="http://echo" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="urn:/echo.wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
> <wsdl:types>
> <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:/echo.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:element name="echo">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element maxOccurs="1" minOccurs="1" name="req" nillable="true" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="echoResponse">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element maxOccurs="1" minOccurs="1" name="Resp" nillable="true" type="ns1:EchoReturnObject"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://echo" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:complexType name="EchoReturnObject"/>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="echoResponse">
> <wsdl:part name="parameters" element="tns:echoResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="echoRequest">
> <wsdl:part name="parameters" element="tns:echo">
> </wsdl:part>
> </wsdl:message>
> <wsdl:portType name="echoServicePortType">
> <wsdl:operation name="echo">
> <wsdl:input name="echoRequest" message="tns:echoRequest">
> </wsdl:input>
> <wsdl:output name="echoResponse" message="tns:echoResponse">
> </wsdl:output>
> </wsdl:operation>
> </wsdl:portType>
> </wsdl:definitions>
>
>
> The return type is empty: it does not generate the type following the class.
> I'm using servicemix 3.1.2 but I upgraded the module to the 3.2 version as seen in the nabble: http://www.mail-archive.com/user@xfire.codehaus.org/msg01746.html
> but nothing change.
>
> Where the problem come from??
> May I control this without changing servicemix component?
> Thank you very much guys, please help me!!!!
> Cheers,
> Simone
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/