Yeah, the generated jaxrpc-mapping.xml does have
<param-type>java.lang.String</param-type> and Yes, i do have ....
type='xsd:string'/> like thing in my part definitions in WSDL. But that is
there for a reason, which i will try to explain.
As a matter of fact, wscompile does not allow to have primitive types (like xsd:string
etc) to be specified like following:
<message name = "methodName">
| <part name = "paraName" element = "xsd:string"/>
| </message>
If used, wscompile gives error and skips mapping for this method. Please note that this
behavior is peculiar to document based web wervices _only_ (this is allowed in rpc style).
So, in document based services, i have to wrap these primitive types in wrapper types like
this
<message name = "methodName">
| <part name = "paraName" element = "ns2:wrapperString"/>
| </message>
and then, combination of following fragment in types section of the WSDL gives me the
equavilent desired effect.
<complexType name = "wrapperStringType">
| <sequence>
| <element
| name = "parameterOne"
| type = "string"
| nillable = "true"/>
| </sequence>
| </complexType>
| <element name = "wrapperString" type =
"tns:wrapperStringType"/>
|
Now everything is fine with attachment-less webservices. But for the web-service where i
need attachment support, the message _has_ to be defined as
<message name = "methodWithAttachment">
| <part name = "paraName" element = "ns2:wrapperString"/>
| <part name = "attachmentContents" type = "xsd:string"/>
| </message>
Interestingly enough, the wscompile tool does _not_ show any error/warning while
generating mapping. The attachmentContents above is my parameter defined in mime:content
(which happens to be of type text/plain), so that could be the possible reason of
wscompile staying silent on this part being specified as xsd:string.
But at deployment time i get the following warning and then exception (as i mentioned in
my first post):
anonymous wrote : 22:11:09,354 WARN [JavaWsdlMapping] Cannot find jaxrpc-mapping for
type: {http://www.w3.org/2001/XMLSchema}string
| 22:11:09,354 ERROR [MainDeployer] Could not create deployment:
file:/D:/jboss-4.0.4.GA/server/default/deploy/alhamd.war
| org.jboss.ws.WSException: Cannot obtain java/xml type mapping for:
{http://www.w3.org/2001/XMLSchema}string
| at
org.jboss.ws.deployment.JSR109MetaDataBuilder.buildParameterMetaDataDoc(JSR109MetaDataBuilder.java:513)
|
Phew! No wonder, writing this all down is more difficult than explaining on face.
mnsharif
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3985912#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...