Thanks daniel, its working now. But I am really being drained while
accumulating every schema/wsdl used:).
Apart from wsdm spec. I have some questions related to the development
of wsrf services.
I want to write simple wsrf service which has wsdl and schema e.g.
filemanagementservice (fms) service (containing resource properties)
and business functions. And, a corresponding filemanagement factory
service which creates instance of fms resource.
As a newbie my question is,
- Can I use xmlbeans to generate xml classes and then use it in my
server side and client side code.
- I dont want to use ws-metadataxchange and wsdm specs, just wanna try
plain wsrf example. Do you have any sample (wsrf only) code or
example. Like one scenario shown above of filemanagementservice and
fmfactory. Any hints or tests written.
- How you are managing ws-resource instances i.e. in-memory or in-database?
Thanks and Regards
Kensky
On 11/22/06, Daniel Jemiolo <[EMAIL PROTECTED]> wrote:
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]