java webservice怎么用soap传递XML对象,求代码!

ifyzx 2009-08-07 04:45:16
留下QQ联系方法,帮我看下我的soap怎么报错呢

1.求soap怎么传XML对象

2.下面代码错在哪里,怎么解决?

客户端代码:

public static void main(String[] args) {
try {
URL url=new URL("http://localhost:8888/soap_webservice/services/HelloWorld");
Call call=new Call();
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
Response resp=null;
call.setMethodName("setName");
Vector params=new Vector();
params.addElement(new Parameter("test",String.class,"kevin",null));
call.setParams(params);
resp=call.invoke(url, "");

call.setMethodName("echo");
params.clear();
params.addElement(new Parameter("test",String.class,"kevin echo",null));
call.setParams(params);
resp=call.invoke(url, "");
if(resp!=null&&!resp.generatedFault()){
Parameter ret=resp.getReturnValue();
Object value=ret.getValue();
System.out.println("setName:"+value);
}else{
Fault fault=resp.getFault();
System.err.print("Generated fault echo");
System.out.println("Fault Code="+fault.getFaultCode());
System.out.println("Fault String="+fault.getFaultString());
}
call.setMethodName("sayHello");
call.setParams(null);
resp=null;
resp=call.invoke(url, "");
if(resp!=null&&!resp.generatedFault()){
Parameter ret=resp.getReturnValue();
Object value=ret.getValue();
System.out.println("sayHello:"+value);
}else{
Fault fault=resp.getFault();
System.err.println("Generated fault sayHello:");
System.out.println("Fault Code="+fault.getFaultCode());;
System.out.println("Fault String="+fault.getFaultString());
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SOAPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


异常:

2009-8-7 16:40:41 org.codehaus.xfire.handler.DefaultFaultHandler invoke
信息: Fault occurred!
com.ctc.wstx.exc.WstxParsingException: Non-default namespace can not map to empty URI (as per Namespace 1.0 # 2) in XML 1.0 documents
at [row,col {unknown-source}]: [4,25]
...全文
1531 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixing115730 2012-09-10
  • 打赏
  • 举报
回复
说的都是废话了!我也遇到同样的问题,就是我该怎么设置这个string 类型的传值xml呢,能给力实列么
gtya987321 2011-11-07
  • 打赏
  • 举报
回复
webservice 只能传递序列化参数 可以考虑用String做参数或者xml
zuoguodang 2009-08-17
  • 打赏
  • 举报
回复
看我的文章吧,保证对你有用。
young_boy 2009-08-17
  • 打赏
  • 举报
回复
webservice不能传对象.只能传xml

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧