67,538
社区成员
发帖
与我相关
我的任务
分享
public interface HelloClientInterface
{
public Object GetProjectById(int id);
}
public class TestHelloClient
{
public static void main(final String[] args)
{
try
{
String wsdlUrl = "http://127.0.0.1:3000/project_server/wsdl";
String nameSpaceUri = "urn:ActionWebService";
String serviceName = "projectService";
String portName = "projectProjectServerPort";
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service afService =
serviceFactory.createService(new URL(wsdlUrl), new QName(
nameSpaceUri, serviceName));
HelloClientInterface proxy =
(HelloClientInterface)afService.getPort(new QName(nameSpaceUri,
portName), HelloClientInterface.class);
System.out.println("return value is "+proxy.GetProjectById(1));
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
- Exception:
org.xml.sax.SAXException: Deserializing parameter 'return': could not find deserializer for type {urn:ActionWebService}Project
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at org.apache.axis.client.AxisClientProxy.invoke(AxisClientProxy.java:163)
at $Proxy0.GetProjectById(Unknown Source)
at Proxy.TestHelloClient.main(TestHelloClient.java:40)
java.lang.reflect.UndeclaredThrowableException
at $Proxy0.GetProjectById(Unknown Source)
at Proxy.TestHelloClient.main(TestHelloClient.java:40)
Caused by: org.xml.sax.SAXException: Deserializing parameter 'return': could not find deserializer for type {urn:ActionWebService}Project
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.client.Call.invoke(Call.java:2470)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at org.apache.axis.client.AxisClientProxy.invoke(AxisClientProxy.java:163)
... 2 more
Caused by: org.xml.sax.SAXException: Deserializing parameter 'return': could not find deserializer for type {urn:ActionWebService}Project
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
... 5 more
TypeMappingRegistry tmr = service.getTypeMappingRegistry();
TypeMapping tm = tmr.createTypeMapping();
tm.register(Project.class,
new QName(nameSpace, "Project"),
new BeanSerializerFactory(Project.class, new QName(nameSpace, "Project")),
new BeanDeserializerFactory(Project.class, new QName(nameSpace, "Project")));
tmr.register(link, tm);