R
R
Hi all,
Some time ago I wrote AXIS web service that used arrays of strings as
request parameters and responses.
Now I'm moving to J2ME WS, I needed to use document\literal SOAP
messages, so I did:
java -cp .:$AXISCLASSPATH org.apache.axis.wsdl.Java2WSDL -o
OrderWS.wsdl
-l"http://localhost:8080/axis/services/OrderWebService"
-n"http://localhost:8080/axis/services/OrderWebService" -y DOCUMENT -u
LITERAL Order
then I undeployed old WS and changed WSDD to:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="OrderWebService" style="document" use="literal">
<parameter name="className" value="Order"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
copied new classes to AXIS classes directory and deployed new WS with:
java -cp $AXISCLASSPATH org.apache.axis.client.AdminClient deploy.wsdd
but now I can not invoke operations that use arrays as IN/OUT I get:
faultString: org.xml.sax.SAXException: No deserializer defined for
array type {http://schemas.xmlsoap.org/soap/encoding/}string
when in NetBeans 5.5 I chose "New J2ME WebService Client Information"
and chose: "Existing WSDL File" option, NB shows me that WSDL generated
by Java2WSDL is not WS-I compliant
but without giving any further informations like: where/what is an
error...
the same thing with J2ME Wireless Toolkit 2.2 and Stub Generator
I did not change the Java code of my WebService, all I need is to
generate new WSDL, change WSDD so that I can invoke WS on mobile phones
Arrays of primitive types don't need any mappings.
Java2WSDL creates invalid WSDL? or am I doing something wrong?
best regards
R
Some time ago I wrote AXIS web service that used arrays of strings as
request parameters and responses.
Now I'm moving to J2ME WS, I needed to use document\literal SOAP
messages, so I did:
java -cp .:$AXISCLASSPATH org.apache.axis.wsdl.Java2WSDL -o
OrderWS.wsdl
-l"http://localhost:8080/axis/services/OrderWebService"
-n"http://localhost:8080/axis/services/OrderWebService" -y DOCUMENT -u
LITERAL Order
then I undeployed old WS and changed WSDD to:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="OrderWebService" style="document" use="literal">
<parameter name="className" value="Order"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
copied new classes to AXIS classes directory and deployed new WS with:
java -cp $AXISCLASSPATH org.apache.axis.client.AdminClient deploy.wsdd
but now I can not invoke operations that use arrays as IN/OUT I get:
faultString: org.xml.sax.SAXException: No deserializer defined for
array type {http://schemas.xmlsoap.org/soap/encoding/}string
when in NetBeans 5.5 I chose "New J2ME WebService Client Information"
and chose: "Existing WSDL File" option, NB shows me that WSDL generated
by Java2WSDL is not WS-I compliant
but without giving any further informations like: where/what is an
error...
the same thing with J2ME Wireless Toolkit 2.2 and Stub Generator
I did not change the Java code of my WebService, all I need is to
generate new WSDL, change WSDD so that I can invoke WS on mobile phones
Arrays of primitive types don't need any mappings.
Java2WSDL creates invalid WSDL? or am I doing something wrong?
best regards
R