I have tied to deploy axis example5 with weblogic 7.0 but I am getting Deserializtion error
Error : org.xml.sax.SAXException: Deserializing parameter 'arg1': could not find deserializer for type {urn:BeanService}Order
Would you please help me to resolve this error ?
Thanks & Regards, Shijo
Following are the files I have used
BeanService.jws package samples.userguide.example5;
public class BeanService
{
public String processOrder(Order order)
{
String sep = System.getProperty("line.separator");String response = "Hi, " + order.getCustomerName() + "!" + sep;
response += sep + "You seem to have ordered the following:" + sep;
String [] items = order.getItemCodes(); int [] quantities = order.getQuantities();
for (int i = 0; i < items.length; i++) {
response += sep + quantities + " of item : " + items;
}response += sep + sep + "If this had been a real order processing system, "+ "we'd probably have charged you about now.";
return response; } }
Order.Java
package samples.userguide.example5;
/** This is a JavaBean which represents an order for some products.
*
* @author Glen Daniels ([EMAIL PROTECTED])
*/
public class Order
{
/** Who's ordering */
private String customerName;
/** Where do they live */
private String shippingAddress;
/** Which items do we want */
private String itemCodes[];
/** And how many */
private int quantities[];
// Bean accessors
public String getCustomerName()
{ return customerName; }
public void setCustomerName(String name)
{ customerName = name; }public String getShippingAddress()
{ return shippingAddress; }
public void setShippingAddress(String address)
{ shippingAddress = address; }public String [] getItemCodes()
{ return itemCodes; }
public void setItemCodes(String [] items)
{ itemCodes = items; }public int [] getQuantities()
{ return quantities; }
public void setQuantities(int [] quants)
{ quantities = quants; }
}Client.java package samples.userguide.example5;
import org.apache.axis.AxisFault; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.utils.Options;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class Client
{
public static void main(String [] args) throws Exception
{
Options options = new Options(args);Order order = new Order();
order.setCustomerName("Glen Daniels");
order.setShippingAddress("275 Grove Street, Newton, MA");String [] items = new String[] { "mp3jukebox", "1600mahBattery" };
int [] quantities = new int [] { 1, 4 };
order.setItemCodes(items); order.setQuantities(quantities);
Service service = new Service(); Call call = (Call) service.createCall(); QName qn = new QName( "urn:BeanService", "Order" );
call.registerTypeMapping(Order.class, qn,
new org.apache.axis.encoding.ser.BeanSerializerFactory(Order.class, qn),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(Order.class, qn));
String result;
try {
String endpoint = "http://localhost:" + 7001 + "/axis/BeanService.jws";
call.setTargetEndpointAddress( new java.net.URL(endpoint));
call.setOperationName( new QName("OrderProcessor", "processOrder") );
call.addParameter( "arg1", qn, ParameterMode.IN );
call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING );
result = (String) call.invoke( new Object[] { order } );
} catch (AxisFault fault) {
result = "Error : " + fault.toString();
}System.out.println(result); } }
deploy.wsdd <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="OrderProcessor" provider="java:RPC">
<parameter name="className" value="samples.userguide.example5.BeanService"/>
<parameter name="allowedMethods" value="processOrder"/>
<beanMapping qname="myNS:Order" xmlns:myNS="urn:BeanService" languageSpecificType="java:samples.userguide.example5.Order"/> </service>
</deployment>
I have deployed it with below command
�� java org.apache.axis.client.AdminClient �Vp7001 deploy.wsdd
There is no exception on the seblogic server at deployment time. Even TCP Tunnal/monitor gives no exception. And it gives the result as deployed. I can access this in the web browser with http://localhost:7001/axis/deploy.wsdd
TCP Tunnal/monitor��s soap request & Response at the time of executing the client is given below
Request
POST /axis/BeanService.jws HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1
Host: localhost:8000
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 1085
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:processOrder soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="OrderProcessor">
<arg1 href="#id0"/>
</ns1:processOrder>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Order" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:BeanService">
<customerName xsi:type="xsd:string">Glen Daniels</customerName>
<itemCodes xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[2]">
<item>mp3jukebox</item>
<item>1600mahBattery</item>
</itemCodes>
<quantities xsi:type="soapenc:Array" soapenc:arrayType="xsd:int[2]">
<item>1</item>
<item>4</item>
</quantities>
<shippingAddress xsi:type="xsd:string">275 Grove Street, Newton, MA</shippingAddress>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Response
HTTP/1.0 500 Internal Server Error
Date: Fri, 22 Aug 2003 13:47:08 GMT
Server: WebLogic WebLogic Server 7.0 SP2 Sun Jan 26 23:09:32 PST 2003 234192
Content-Type: text/xml; charset=utf-8
Set-Cookie: JSESSIONID=1Gec0OmvWV2LxQ2qMoDloRa1Jo3ZLSlraEBsnfXfBcg1z3DZHFvZ!889020784; path=/
Connection: Close <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>org.xml.sax.SAXException: Deserializing parameter 'arg1': could not find deserializer for type {urn:BeanService}Order</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
___________________________________________________ Meet your old school or college friends from 1 Million + database... Click here to reunite www.batchmates.com/rediff.asp
