Not any real idea, given what you have seen, this is certainly
a bug.  Could you please raise a JIRA and attach the necessary
files to reproduce the problem easily ?

On 11/8/06, Ken Berthelot <[EMAIL PROTECTED]> wrote:
This may be a servicemix problem.  When I expose the same service using just xfire, it 
generates the correct wsdl.  The problem stems from the fact that when xfire generates 
complex data types for classes that are in a different package (namespace) than the 
service, it generates a separate <xsd:schema> section in the wsdl.  In the wsdl 
generated using servicemix, this additional section is missing from the wsdl.  Guillaume, 
do you have any idea where the additional <xsd:schema> section could be getting 
dropped?

Here's what xfire generates:

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:ns1="http://domain.edgenet.com"; 
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://edgenet.com"; 
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://edgenet.com";>
  <wsdl:types>
    <xsd:schema targetNamespace="http://edgenet.com"; elementFormDefault="qualified" 
attributeFormDefault="qualified">
      <xsd:element name="submitOrder">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="in0" type="xsd:string" nillable="true" minOccurs="1" 
maxOccurs="1" />
            <xsd:element name="in1" type="xsd:double" minOccurs="1" maxOccurs="1" 
/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="submitOrderResponse">
        <xsd:complexType>
          <xsd:sequence>

            <xsd:element name="out" type="ns1:Order" nillable="true" minOccurs="1" 
maxOccurs="1" />

          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>

<!----- the servicemix version does not include the following section ----->

    <xsd:schema targetNamespace="http://domain.edgenet.com"; elementFormDefault="qualified" 
attributeFormDefault="qualified">
      <xsd:complexType name="Order">
        <xsd:sequence>
          <xsd:element name="description" type="xsd:string" minOccurs="0" 
nillable="true" />
          <xsd:element name="orderNo" type="xsd:int" minOccurs="0" />
          <xsd:element name="price" type="xsd:double" minOccurs="0" />
        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
  </wsdl:types>





-----Original Message-----
From: Guillaume Nodet [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 07, 2006 6:28 PM
To: [email protected]
Subject: Re: Incorrect wsdl for jsr181 component

Agreed.
Maybe you could create a JIRA on xfire if you can isolate the problem
from ServiceMix.

On 11/7/06, Ken Berthelot <[EMAIL PROTECTED]> wrote:
> Thanks.  The namespace change did the trick.  I'm with you in thinking 
there's probably an xfire bug.
>
> -----Original Message-----
> From: Christian Schneider [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, November 07, 2006 3:38 PM
> To: [email protected]
> Subject: Re: Incorrect wsdl for jsr181 component
>
> Hi Ken,
>
> I got your example working by doing some small changes. First I made the
> service and endpoint names easier and made sure they match in the http
> and jsr definition.
> Btw. I wonder why it worked at all with the original definitions. But
> perhaps I don“t completely understand servicemix here.
>
> But the thing that really made the difference is that I used the
> namespace of your java package in the xmlns:serviceNS. It seems like a
> complex object is only included in the wsdl if it is in the same
> namespace as the service itself. I think this could be a bug in
> servicemix or xfire. Perhaps Guillaume can comment on this.
>
> Best regards
>
> Christian
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0";
> xmlns:serviceNS="http://service.edgenet.com";>
>    <http:endpoint service="serviceNS:OrderService" endpoint="soap"
> role="consumer" locationURI="http://localhost:8080/Order";
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out"; soap="true"/>
> </beans>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0";
> xmlns:serviceNS="http://service.edgenet.com";>
>    <classpath>
>      <location>.</location>
>    </classpath>
>    <jsr181:endpoint service="serviceNS:OrderService" endpoint="soap"
> pojoClass="com.edgenet.service.SubmitOrderService"
> serviceInterface="com.edgenet.service.SubmitOrder" style="wrapped"/>
> </beans>
>
>
>
> Ken Berthelot schrieb:
> > Thanks for the response, but still no luck.  I added a SubmitOrder
> > interface (and had SubmitOrderService implement it) and referenced it in
> > the jsr181 config:
> >
> >
>
> --
>
> Christian Schneider
> ---
> http://www.liquid-reality.de
>
>
>
> NOTICE: This email and any attached files are confidential and intended 
solely for the use of the addressee.  If you have received this email in error, 
please notify the sender and delete it immediately, without disclosing or using 
its contents for any purpose.  Edgenet Inc. accepts no liability for any damage 
caused by any virus transmitted by this email.
>


--
Cheers,
Guillaume Nodet

NOTICE: This email and any attached files are confidential and intended solely 
for the use of the addressee.  If you have received this email in error, please 
notify the sender and delete it immediately, without disclosing or using its 
contents for any purpose.  Edgenet Inc. accepts no liability for any damage 
caused by any virus transmitted by this email.



--
Cheers,
Guillaume Nodet

Reply via email to