You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-user@ws.apache.org by Manolo Gomez Lopez <pe...@gmail.com> on 2007/04/16 14:00:41 UTC
Generating a capability that accepts a byte[] as parameter
Hi,
I have a WSDL with the following definition of an operation (I'm pasting
only the relevant parts):
<xsd:element name="TransformRequest">
<xsd:annotation>
<xsd:documentation>Solicitud de
transformacion</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="documentToTransform"
type="xsd:integer">
<xsd:annotation>
<xsd:documentation>Documento a
transformar</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<wsdl:message name="TransformRequest">
<wsdl:part name="TransformRequest" element="tns:TransformRequest"/>
</wsdl:message>
<wsdl:operation name="Transform">
<wsdl:input wsa:Action="
http://test.net/testing/services/TransformationService/Transform"
name="TransformRequest" message="tns:TransformRequest"/>
<wsdl:output wsa:Action="
http://test.net/testing/services/TransformationService/TransformResponse"
name="TransformResponse" message="tns:TransformResponse"/>
<wsdl:fault name="TransformFailedFault"
message="tns:TransformFailedFault"/>
<wsdl:fault name="ResourceUnknownFault"
message="tns:ResourceUnknownFault"/>
<wsdl:fault name="ResourceUnavailableFault"
message="tns:ResourceUnavailableFault"/>
</wsdl:operation>
I want this WSDL to represent an operation named void Transform (byte[])
using base64 as the mechanism for encoding binary data. When I execute
wsdl2java for generating the server part of the service, it generates the
following code:
public void transform(Element documentToTransform) throws Exception {
//TODO implement transform
throw new RuntimeException("Unimplemented Method: transform");
}
I want Apache Muse to generate a prototype like this: public void
transform(byte[] documentToTransform) throws Exception or anything that
treats the received base64 as an array of bytes. Somewhere in the
documentation it is said that Apache Muse uses Element as a rerpresentation
of a parameter when the element has AnyType or void types...
Does anybody knows how to get a service that has an capability that gets a
byte[] as parameter?
Greets,
Re: Generating a capability that accepts a byte[] as parameter
Posted by Manolo Gomez Lopez <pe...@gmail.com>.
Sorry I correct myself, the correct definition for the element
TransformRequest is the following (the previous was a definition used for
testing the correctness of wsdl2java), please use this definitions as a
statement of the problem:
Hi,
I have a WSDL with the following definition of an operation (I'm pasting
only the relevant parts):
<xsd:element name="TransformRequest">
<xsd:annotation>
<xsd:documentation>Solicitud de
transformacion</xsd:documentati
>
> on>
> </xsd:annotation>
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="documentToTransform"
> type="xsd:binaryBase64">
> <xsd:annotation>
> <xsd:documentation>Documento a
> transformar</xsd:documentation>
> </xsd:annotation>
> </xsd:element>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
>
>
> <wsdl:message name="TransformRequest">
> <wsdl:part name="TransformRequest"
> element="tns:TransformRequest"/>
> </wsdl:message>
>
> <wsdl:operation name="Transform">
> <wsdl:input wsa:Action="
> http://test.net/testing/services/TransformationService/Transform"
> name="TransformRequest" message="tns:TransformRequest"/>
> <wsdl:output wsa:Action="
> http://test.net/testing/services/TransformationService/TransformResponse"
> name="TransformResponse" message="tns:TransformResponse"/>
> <wsdl:fault name="TransformFailedFault"
> message="tns:TransformFailedFault"/>
> <wsdl:fault name="ResourceUnknownFault"
> message="tns:ResourceUnknownFault"/>
> <wsdl:fault name="ResourceUnavailableFault"
> message="tns:ResourceUnavailableFault"/>
> </wsdl:operation>
>
>
> I want this WSDL to represent an operation named void Transform
> (byte[]) using base64 as the mechanism for encoding binary data. When I
> execute wsdl2java for generating the server part of the service, it
> generates the following code:
>
> public void transform(Element documentToTransform) throws Exception
> {
> //TODO implement transform
> throw new RuntimeException("Unimplemented Method: transform");
> }
>
>
> I want Apache Muse to generate a prototype like this: public void
> transform(byte[] documentToTransform) throws Exception or anything that
> treats the received base64 as an array of bytes. Somewhere in the
> documentation it is said that Apache Muse uses Element as a representation
> of a parameter when the element has AnyType or void types...
>
> Does anybody knows how to get a service that has an capability that gets a
> byte[] as parameter?
>
> Greets,
>
RE: Generating a capability that accepts a byte[] as parameter
Posted by Daniel Jemiolo <da...@us.ibm.com>.
I think the simple answer is that the type doesn't get added to
wsdl2java's built-in type map, so it's just another complex type. I agree
that it did originally do this - I'm guessing that it was removed at some
point because the XSD-to-Java mapping was put in muse-util-xml, and we
didn't want muse-util-xml to have a dependency on muse-wsa-soap. However,
now that the mapping is done in muse-tools, this is irrelevant (muse-tools
depends on pretty much everything). I will look at the code and try to add
this back.
Dan
<le...@bt.com> wrote on 04/17/2007 10:18:35 AM:
> Just to add to this topic my 2 fold question:
>
> 1) why is it that a function or variable specified to be of type
> EndpointReference always ends up being declared as an Element (I believe
> that this wasn't the case a long time ago). When defined in the wsdl as:
> <xsd:element name="epr" type="wsa:EndpointReference"
> maxOccurs="unbounded"/>
> The same is true for this definition as well:
> <xsd:element ref="wsa:EndpointReference" maxOccurs="unbounded"/>
>
> 2) Given the definition below, shouldn't I be able to get a function
> declared that returns a list of EndpointReferences (or Elements given
> the current implementation)?
>
> <xsd:element name="ListResourcesOperation" />
> <xsd:element
> name="ListResourcesOperationResponse">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="epr"
> type="wsa:EndpointReference" maxOccurs="unbounded"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
>
>
> I'm just slightly confused.
>
> /Lenni
>
>
> -----Original Message-----
> From: Daniel Jemiolo [mailto:danjemiolo@us.ibm.com]
> Sent: 16 April 2007 18:27
> To: muse-user@ws.apache.org
> Subject: Re: Generating a capability that accepts a byte[] as parameter
>
> I think the problem is that the collection of built-in serializers
> doesn't
> include support for byte/byte[]. I'm going to add this so that you can
> make parameters like this:
>
> <xsd:element name="MyParam" type="xsd:byte"
> maxOccurs="unbounded"/>
>
> and get a byte[] parameter (or return type). This change will show up in
>
> tonight's nightly build.
>
> Dan
>
>
>
> "Manolo Gomez Lopez" <pe...@gmail.com> wrote on 04/16/2007
> 08:00:41
> AM:
>
> > Hi,
> >
> > I have a WSDL with the following definition of an operation (I'm
> pasting
> > only the relevant parts):
> >
> > <xsd:element name="TransformRequest">
> > <xsd:annotation>
> > <xsd:documentation>Solicitud de
> > transformacion</xsd:documentation>
> > </xsd:annotation>
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element name="documentToTransform"
> > type="xsd:integer">
> > <xsd:annotation>
> > <xsd:documentation>Documento a
> > transformar</xsd:documentation>
> > </xsd:annotation>
> > </xsd:element>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> >
> >
> > <wsdl:message name="TransformRequest">
> > <wsdl:part name="TransformRequest"
> element="tns:TransformRequest"/>
> > </wsdl:message>
> >
> > <wsdl:operation name="Transform">
> > <wsdl:input wsa:Action="
> > http://test.net/testing/services/TransformationService/Transform"
> > name="TransformRequest" message="tns:TransformRequest"/>
> > <wsdl:output wsa:Action="
> >
> http://test.net/testing/services/TransformationService/TransformResponse
> "
> > name="TransformResponse" message="tns:TransformResponse"/>
> > <wsdl:fault name="TransformFailedFault"
> > message="tns:TransformFailedFault"/>
> > <wsdl:fault name="ResourceUnknownFault"
> > message="tns:ResourceUnknownFault"/>
> > <wsdl:fault name="ResourceUnavailableFault"
> > message="tns:ResourceUnavailableFault"/>
> > </wsdl:operation>
> >
> >
> > I want this WSDL to represent an operation named void Transform
> (byte[])
> > using base64 as the mechanism for encoding binary data. When I execute
> > wsdl2java for generating the server part of the service, it generates
> the
> > following code:
> >
> > public void transform(Element documentToTransform) throws
> Exception
> {
> > //TODO implement transform
> > throw new RuntimeException("Unimplemented Method: transform");
> > }
> >
> >
> > I want Apache Muse to generate a prototype like this: public void
> > transform(byte[] documentToTransform) throws Exception or anything
> that
> > treats the received base64 as an array of bytes. Somewhere in the
> > documentation it is said that Apache Muse uses Element as a
> rerpresentation
> > of a parameter when the element has AnyType or void types...
> >
> > Does anybody knows how to get a service that has an capability that
> gets
> a
> > byte[] as parameter?
> >
> > Greets,
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: muse-user-help@ws.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: muse-user-help@ws.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org
RE: Generating a capability that accepts a byte[] as parameter
Posted by le...@bt.com.
Just to add to this topic my 2 fold question:
1) why is it that a function or variable specified to be of type
EndpointReference always ends up being declared as an Element (I believe
that this wasn't the case a long time ago). When defined in the wsdl as:
<xsd:element name="epr" type="wsa:EndpointReference"
maxOccurs="unbounded"/>
The same is true for this definition as well:
<xsd:element ref="wsa:EndpointReference" maxOccurs="unbounded"/>
2) Given the definition below, shouldn't I be able to get a function
declared that returns a list of EndpointReferences (or Elements given
the current implementation)?
<xsd:element name="ListResourcesOperation" />
<xsd:element
name="ListResourcesOperationResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="epr"
type="wsa:EndpointReference" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
I'm just slightly confused.
/Lenni
-----Original Message-----
From: Daniel Jemiolo [mailto:danjemiolo@us.ibm.com]
Sent: 16 April 2007 18:27
To: muse-user@ws.apache.org
Subject: Re: Generating a capability that accepts a byte[] as parameter
I think the problem is that the collection of built-in serializers
doesn't
include support for byte/byte[]. I'm going to add this so that you can
make parameters like this:
<xsd:element name="MyParam" type="xsd:byte"
maxOccurs="unbounded"/>
and get a byte[] parameter (or return type). This change will show up in
tonight's nightly build.
Dan
"Manolo Gomez Lopez" <pe...@gmail.com> wrote on 04/16/2007
08:00:41
AM:
> Hi,
>
> I have a WSDL with the following definition of an operation (I'm
pasting
> only the relevant parts):
>
> <xsd:element name="TransformRequest">
> <xsd:annotation>
> <xsd:documentation>Solicitud de
> transformacion</xsd:documentation>
> </xsd:annotation>
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="documentToTransform"
> type="xsd:integer">
> <xsd:annotation>
> <xsd:documentation>Documento a
> transformar</xsd:documentation>
> </xsd:annotation>
> </xsd:element>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
>
>
> <wsdl:message name="TransformRequest">
> <wsdl:part name="TransformRequest"
element="tns:TransformRequest"/>
> </wsdl:message>
>
> <wsdl:operation name="Transform">
> <wsdl:input wsa:Action="
> http://test.net/testing/services/TransformationService/Transform"
> name="TransformRequest" message="tns:TransformRequest"/>
> <wsdl:output wsa:Action="
>
http://test.net/testing/services/TransformationService/TransformResponse
"
> name="TransformResponse" message="tns:TransformResponse"/>
> <wsdl:fault name="TransformFailedFault"
> message="tns:TransformFailedFault"/>
> <wsdl:fault name="ResourceUnknownFault"
> message="tns:ResourceUnknownFault"/>
> <wsdl:fault name="ResourceUnavailableFault"
> message="tns:ResourceUnavailableFault"/>
> </wsdl:operation>
>
>
> I want this WSDL to represent an operation named void Transform
(byte[])
> using base64 as the mechanism for encoding binary data. When I execute
> wsdl2java for generating the server part of the service, it generates
the
> following code:
>
> public void transform(Element documentToTransform) throws
Exception
{
> //TODO implement transform
> throw new RuntimeException("Unimplemented Method: transform");
> }
>
>
> I want Apache Muse to generate a prototype like this: public void
> transform(byte[] documentToTransform) throws Exception or anything
that
> treats the received base64 as an array of bytes. Somewhere in the
> documentation it is said that Apache Muse uses Element as a
rerpresentation
> of a parameter when the element has AnyType or void types...
>
> Does anybody knows how to get a service that has an capability that
gets
a
> byte[] as parameter?
>
> Greets,
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org
Re: Generating a capability that accepts a byte[] as parameter
Posted by Daniel Jemiolo <da...@us.ibm.com>.
I think the problem is that the collection of built-in serializers doesn't
include support for byte/byte[]. I'm going to add this so that you can
make parameters like this:
<xsd:element name="MyParam" type="xsd:byte"
maxOccurs="unbounded"/>
and get a byte[] parameter (or return type). This change will show up in
tonight's nightly build.
Dan
"Manolo Gomez Lopez" <pe...@gmail.com> wrote on 04/16/2007 08:00:41
AM:
> Hi,
>
> I have a WSDL with the following definition of an operation (I'm
pasting
> only the relevant parts):
>
> <xsd:element name="TransformRequest">
> <xsd:annotation>
> <xsd:documentation>Solicitud de
> transformacion</xsd:documentation>
> </xsd:annotation>
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="documentToTransform"
> type="xsd:integer">
> <xsd:annotation>
> <xsd:documentation>Documento a
> transformar</xsd:documentation>
> </xsd:annotation>
> </xsd:element>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
>
>
> <wsdl:message name="TransformRequest">
> <wsdl:part name="TransformRequest"
element="tns:TransformRequest"/>
> </wsdl:message>
>
> <wsdl:operation name="Transform">
> <wsdl:input wsa:Action="
> http://test.net/testing/services/TransformationService/Transform"
> name="TransformRequest" message="tns:TransformRequest"/>
> <wsdl:output wsa:Action="
>
http://test.net/testing/services/TransformationService/TransformResponse"
> name="TransformResponse" message="tns:TransformResponse"/>
> <wsdl:fault name="TransformFailedFault"
> message="tns:TransformFailedFault"/>
> <wsdl:fault name="ResourceUnknownFault"
> message="tns:ResourceUnknownFault"/>
> <wsdl:fault name="ResourceUnavailableFault"
> message="tns:ResourceUnavailableFault"/>
> </wsdl:operation>
>
>
> I want this WSDL to represent an operation named void Transform
(byte[])
> using base64 as the mechanism for encoding binary data. When I execute
> wsdl2java for generating the server part of the service, it generates
the
> following code:
>
> public void transform(Element documentToTransform) throws Exception
{
> //TODO implement transform
> throw new RuntimeException("Unimplemented Method: transform");
> }
>
>
> I want Apache Muse to generate a prototype like this: public void
> transform(byte[] documentToTransform) throws Exception or anything that
> treats the received base64 as an array of bytes. Somewhere in the
> documentation it is said that Apache Muse uses Element as a
rerpresentation
> of a parameter when the element has AnyType or void types...
>
> Does anybody knows how to get a service that has an capability that gets
a
> byte[] as parameter?
>
> Greets,
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org