Hi, All that said, this is where the wsdlmerge utitlity is useful. Not only will it merge the portTypes and the WSRP documents, it will generate a valid binding and service element based on the portType.
Thanks, Andrew Andrew Eberbach Autonomic Computing (919) 254-2645 T/L: 444-2645 [EMAIL PROTECTED] Daniel Jemiolo/Durham/[EMAIL PROTECTED] 11/22/2006 10:24 AM Please respond to [email protected] To [email protected] cc Subject Re: OnePortPerWSDL Problem Ah, I see what the problem is. It's not the fact that you have multiple port *types*. It's that your WSDL has no *port* and no binding. WSDL 1.1 has the following hierarchy: <service/> has <port/>s which have <binding/>s which have <portType/>s which have <operation/>s which have <message/>s which have <part/>s which have schemas Got all that? :) It's rather obtuse. Everything above <portType/> is part of the "concrete" service interface. The portType is "abstract" and is not bound to a specific protocol (many moons ago, the WSDL authors thought that it might be useful for people to use something other than SOAP for their messages). The WSDLs you'll get from OASIS just have a <portType/>, since they cannot know ahead of time how people will want to combine all of the operations to make their concrete service interfaces. The portType operations can be copied and pasted to make larger, custom portTypes. You then supply the <binding/>, <service/>, and <port/> elements. Your WSDL does not have the last three. I suggest looking at the Muse sample WSDLs and copying these elements into your own WSDL where appropriate. The <service/> and <port/> are pretty simple; the <binding/> is cumbersome as it is mostly duplicating the <portType/>. But you need all of them to have a valid WSDL document. If you're using an IDE like Eclipse WTP, it should help by adding in the <binding/> elements for each operation in your portType; I'm sure other IDEs have similar features. Dan "Kensky Schulz" <[EMAIL PROTECTED]> wrote on 11/22/2006 03:47:54 AM: > Hi, > > Thanks for reply. > I am not using wsdlmerge utility, its just a mmerging of all porttypes > into one, in order to hack oneportperwsdl problem. > > Actual SimpleShoppingCart.wsdl is pasted below; > <?xml version="1.0" encoding="UTF-8"?> > <!-- Copyright (C) OASIS Open (2004). All Rights Reserved. This document > and translations of it may be copied and furnished to others, and derivative > works that comment on or otherwise explain it or assist in its implementation > may be prepared, copied, published and distributed, in whole or in part, > without restriction of any kind, provided that the above copyright notice and > this paragraph are included on all such copies and derivative works. However, > this document itself may not be modified in any way, such as by removing the > copyright notice or references to OASIS, except as needed for the purpose of > developing OASIS specifications, in which case the procedures for copyrights > defined in the OASIS Intellectual Property Rights document must be followed, > or as required to translate it into languages other than English. The > limited permissions granted above are perpetual and will not be revoked by > OASIS or its successors or assigns. This document and the information > contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL > WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT > THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED > WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. --> > > <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:sscw="http://docs.oasis-open.org/wsrf/primer-1.2-examples- > cd-02/SimpleShoppingCarts/SimpleShoppingService.wsdl" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:ssc="http://docs.oasis-open.org/wsrf/primer-1.2-examples- > cd-02/SimpleShoppingCarts/SimpleShoppingCart.xsd" > xmlns:wsaw="http://www.w3.org/2006/02/addressing/wsdl" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2" > xmlns:wsrf-rpw="http://docs.oasis-open.org/wsrf/rpw-2" > xmlns:wsrf-rw="http://docs.oasis-open.org/wsrf/rw-2" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > targetNamespace="http://docs.oasis-open.org/wsrf/primer-1.2-examples- > cd-02/SimpleShoppingCarts/SimpleShoppingService.wsdl"> > > <!-- Import Spec WSDL's -- relatively--> > <wsdl:import location="rw-2.wsdl" > namespace="http://docs.oasis-open.org/wsrf/rw-2" /> > <wsdl:import location="rpw-2.wsdl" > namespace="http://docs.oasis-open.org/wsrf/rpw-2" /> > <wsdl:import location="rlw-2.wsdl" > namespace="http://docs.oasis-open.org/wsrf/rlw-2" /> > > > <wsdl:types> > <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified"> > <xsd:import namespace="http://docs.oasis-open.org/wsrf/primer-1.2- > examples-cd-02/SimpleShoppingCarts/SimpleShoppingCart.xsd" > schemaLocation="SimpleShoppingCart.xsd" /> > </xsd:schema> > </wsdl:types> > > > <wsdl:message name="ProductSearchRequest"> > <wsdl:part element="ssc:ProductSearchRequest" name="body" /> > </wsdl:message> > <wsdl:message name="ProductSearchResponse"> > <wsdl:part element="ssc:ProductSearchResponse" name="body" /> > </wsdl:message> > > <wsdl:message name="CartCreateRequest"> > <wsdl:part element="ssc:CartCreateRequest" name="body" /> > </wsdl:message> > <wsdl:message name="CartCreateResponse"> > <wsdl:part element="ssc:CartCreateResponse" name="body" /> > </wsdl:message> > > <wsdl:message name="CheckoutRequest"> > <wsdl:part element="ssc:CheckoutRequest" name="body" /> > </wsdl:message> > <wsdl:message name="CheckoutResponse"> > <wsdl:part element="ssc:CheckoutResponse" name="body" /> > </wsdl:message> > > <wsdl:message name="CheckoutFault"> > <wsdl:part element="ssc:CheckoutFault" name="CheckoutFault" /> > </wsdl:message> > > > <wsdl:portType name="ProductCatalogue"> > <wsdl:operation name="ProductSearch"> > <wsdl:input message="sscw:ProductSearchRequest" /> > <wsdl:output message="sscw:ProductSearchResponse" /> > </wsdl:operation> > </wsdl:portType> > > <wsdl:portType name="SimpleShoppingCartCreation"> > <wsdl:operation name="CreateCart"> > <wsdl:input message="sscw:CartCreateRequest" /> > <wsdl:output message="sscw:CartCreateResponse" /> > </wsdl:operation> > </wsdl:portType> > > <wsdl:portType name="SimpleShoppingCart" > wsrf-rp:ResourceProperties="ssc:SimpleShoppingCart"> > > <wsdl:operation name="GetResourcePropertyDocument"> > <wsdl:input message="wsrf-rpw:GetResourcePropertyDocumentRequest" > name="GetResourcePropertyDocumentRequest" > wsaw:Action="http://docs.oasis-open. > org/wsrf/rpw-2/GetResourcePropertyDocument/GetResourcePropertyDocumentRequest" > /> > <wsdl:output message="wsrf-rpw:GetResourcePropertyDocumentResponse" > name="GetResourcePropertyDocumentResponse" > wsaw:Action="http://docs.oasis-open. > org/wsrf/rpw-2/GetResourcePropertyDocument/GetResourcePropertyDocumentResponse" > /> > <wsdl:fault message="wsrf-rw:ResourceUnknownFault" > name="ResourceUnknownFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > <wsdl:fault message="wsrf-rw:ResourceUnavailableFault" > name="ResourceUnavailableFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > </wsdl:operation> > > <wsdl:operation name="PutResourcePropertyDocument"> > <wsdl:input message="wsrf-rpw:GetResourcePropertyDocumentRequest" > name="PutResourcePropertyDocumentRequest" > wsaw:Action="http://docs.oasis-open. > org/wsrf/rpw-2/PutResourcePropertyDocument/PutResourcePropertyDocumentRequest" > /> > <wsdl:output message="wsrf-rpw:GetResourcePropertyDocumentResponse" > name="PutResourcePropertyDocumentResponse" > wsaw:Action="http://docs.oasis-open. > org/wsrf/rpw-2/PutResourcePropertyDocument/PutResourcePropertyDocumentResponse" > /> > <wsdl:fault message="wsrf-rw:ResourceUnknownFault" > name="ResourceUnknownFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > <wsdl:fault message="wsrf-rw:ResourceUnavailableFault" > name="ResourceUnavailableFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > </wsdl:operation> > > <wsdl:operation name="GetResourceProperty"> > <wsdl:input message="wsrf-rpw:GetResourcePropertyRequest" > name="GetResourcePropertyRequest" > wsaw:Action="http://docs.oasis-open. > org/wsrf/rpw-2/GetResourceProperty/GetResourcePropertyRequest" > /> > <wsdl:output message="wsrf-rpw:GetResourcePropertyResponse" > name="GetResourcePropertyResponse" > wsaw:Action="http://docs.oasis-open. > org/wsrf/rpw-2/GetResourceProperty/GetResourcePropertyResponse" > /> > <wsdl:fault message="wsrf-rpw:InvalidResourcePropertyQNameFault" > name="InvalidResourcePropertyQNameFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > <wsdl:fault message="wsrf-rw:ResourceUnknownFault" > name="ResourceUnknownFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > <wsdl:fault message="wsrf-rw:ResourceUnavailableFault" > name="ResourceUnavailableFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > </wsdl:operation> > > <wsdl:operation name="Checkout"> > <wsdl:input message="sscw:CheckoutRequest" name="CheckoutRequest" > wsaw:Action="http://docs.oasis-open.org/wsrf/primer-1.2-examples- > cd-02/SimpleShoppingService.wsdl/SimpleShoppingCart/CheckoutRequest" > /> > <wsdl:output message="sscw:CheckoutResponse" > name="CheckoutResponse" > wsaw:Action="http://docs.oasis-open.org/wsrf/primer-1.2-examples- > cd-02/SimpleShoppingService.wsdl/SimpleShoppingCart/CheckoutResponse" > /> > <wsdl:fault message="sscw:CheckoutFault" name="CheckoutFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/primer-1.2-examples- > cd-02/SimpleShoppingService.wsdl/SimpleShoppingCart/Fault" > /> > <wsdl:fault message="wsrf-rw:ResourceUnknownFault" > name="ResourceUnknownFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > <wsdl:fault message="wsrf-rw:ResourceUnavailableFault" > name="ResourceUnavailableFault" > wsaw:Action="http://docs.oasis-open.org/wsrf/fault" /> > </wsdl:operation> > > </wsdl:portType> > <service name="SimpleShoppingService" /> > </wsdl:definitions> > > I am not using ws-* spec files from muse distribution sample, instead > I have downloaded the specs from the following link, > docs.oasis-open.org/wsrf > > ------------------------------------ > Kensky > > > > > > > > > > > > > On 11/21/06, Andrew Eberbach <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I think there might have been a miswording there. Wsdl2java does not call > > wsdlmerge itself. Wsdlmerge is a utility that we included because we found > > that putting together the whole wsdl was error-prone, one of the > > conventions we adopted was having only one portType in the wsdl given to > > wsdl2java. If the wsdl you are passing in has no portTypes or more than > > one portTypes then you will get this message. The documentation for > > wsdlmerge is here: > > > > http://ws.apache.org/muse/docs/2.0.0/manual/tools/wsdlmerge.html > > > > If you have any other questions, please feel free to post your wsdls here > > and I can take a look at them. > > > > Thanks, > > Andrew > > > > Andrew Eberbach > > Autonomic Computing > > (919) 254-2645 > > T/L: 444-2645 > > [EMAIL PROTECTED] > > > > > > > > Daniel Jemiolo/Durham/[EMAIL PROTECTED] > > 11/21/2006 09:49 AM > > Please respond to > > [email protected] > > > > > > To > > [email protected] > > cc > > > > Subject > > Re: OnePortPerWSDL Problem > > > > > > > > > > > > > > I'm a little confused as to which problem you're having. WSDL2Java uses > > the WSDLMerge tool as part of its work, so your original shopping cart > > WSDL can use imports; it's just that the final web application that is > > generated will have a WSDL that is 'merged'. So... you should be able to > > gen code without manually merging the WSDLs yourself, and if you can't I'd > > > > like to help you with that problem as well. > > > > The one port per WSDL is a separate issue - perhaps you can send the WSDL > > you're using so I can point out specific problems? > > > > thanks, > > Dan > > > > > > "Kensky Schulz" <[EMAIL PROTECTED]> wrote on 11/21/2006 > > 05:00:25 AM: > > > > > I am implementing a WSRF Primer SimpleShoppingCart example from OASIS. > > > While code generation from wsdl2java I managed to resolve schema and > > > wsdl dependencies. But, finally stuck at this error OnePortPerWSDL, so > > > what I am doing now is to merge (WSRP,RL..) specification port types > > > into one, I know its not a correct way. but em still gettingthe same > > > error. The error log is pasted below, > > > > > > " SEVERE: [ID = 'CodeGenFailed'] Code generation failed, see the > > > exception informa > > > tion below. > > > > > > An exception was caught: [ID = 'OnePortPerWSDL'] The resource > > > inspector can only > > > process WSDLs with one port element. The WSDL can have multiple > > portTypes, but > > > only one concrete service and port. " > > > > > > help... > > > > > > Thanks in advance > > > Kensky > > > > > > Note: Via nabble.com I can access MUSE-DEV list but couldn't reach to > > > MUSE-USER. Is there any way to access MUSE-USER through any other > > > web-list interface like nabble. > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
