[ https://issues.apache.org/activemq/browse/SM-739?page=all ]
Christian Schneider updated SM-739:
-----------------------------------
Attachment: complextypetestpatch.txt
I have written and attached a Testcase for the problem.
> wsdl for pojos exported by jsr181 endpoint is missing complextypes from other
> namespaces than the service itself
> ----------------------------------------------------------------------------------------------------------------
>
> Key: SM-739
> URL: https://issues.apache.org/activemq/browse/SM-739
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jsr181
> Affects Versions: 3.0
> Reporter: Christian Schneider
> Attachments: complextypetestpatch.txt, jsr181wsdlproblem..zip
>
>
> I am exporting a pojo Service in namespace http://test1 that uses a Class
> from namespace http://test2 as a jsr181 endpoint.
> The wsdl I get from jconsole for the endpoint does not include the definition
> of the Complextype Person from http://test2.
> If you put the Person class in the package test1 the wsdl looks fine. The
> problem does not happen when using xfire without servicemix.
> Thanks to Ken Berthelot for reporting the problem on the mailing list.
> http://mail-archives.apache.org/mod_mbox/geronimo-servicemix-users/200611.mbox/browser
> ---
> My xbean.xml
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://xbean.org/schemas/spring/1.0"
> xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0">
> <classpath>
> <location>.</location>
> </classpath>
> <jsr181:endpoint
> pojoClass="test1.PersonServiceImpl"
> serviceInterface="test1.PersonService"
> style="wrapped">
> </jsr181:endpoint>
> </beans>
> ---
> My Classes
> package test1;
> import test2.Person;
> public interface PersonService {
> public abstract void testPerson(Person person);
> }
> package test1;
> import test2.Person;
> public class PersonServiceImpl implements PersonService {
> /* (non-Javadoc)
> * @see test1.PersonService#testPerson(test2.Person)
> */
> public void testPerson(Person person) {
>
> }
> }
> package test2;
> public class Person {
> String name;
> public String getName() {
> return name;
> }
> public void setName(String name) {
> this.name = name;
> }
> }
> ----
> The wsdl
> <?xml version="1.0" encoding="UTF-8"?><wsdl:definitions
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://test2"
> xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
> xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"
> xmlns:tns="http://test1"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test1">
> <wsdl:types>
> <xsd:schema attributeFormDefault="qualified"
> elementFormDefault="qualified" targetNamespace="http://test1">
> <xsd:element name="testPerson">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true"
> type="ns1:Person"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="testPersonResponse">
> <xsd:complexType/>
> </xsd:element>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="testPersonResponse">
> <wsdl:part element="tns:testPersonResponse" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="testPersonRequest">
> <wsdl:part element="tns:testPerson" name="parameters"/>
> </wsdl:message>
> <wsdl:portType name="PersonServicePortType">
> <wsdl:operation name="testPerson">
> <wsdl:input message="tns:testPersonRequest" name="testPersonRequest"/>
> <wsdl:output message="tns:testPersonResponse"
> name="testPersonResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> </wsdl:definitions>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira