当前位置: 代码迷 >> Java Web开发 >> 【help】掉用webservice时候报错,如次
  详细解决方案

【help】掉用webservice时候报错,如次

热度:58   发布时间:2016-04-16 22:18:12.0
【help】掉用webservice时候报错,如下
使用的是 tomcat + axis2(其中利用了rampart模块)调用的时候 报错

Exception in thread "main" org.apache.axis2.AxisFault: SOAP message MUST NOT contain a Document Type Declaration(DTD)

我的demo图
[img=http://my.csdn.net/my/album/detail/1164126][/img]
------解决方案--------------------
字面理解是xml里面不能包含dtd
在你的transportutils.createsoapmessage里面报的错、你打个断点跟一下吗
webservice也是能打断点得呀
------解决方案--------------------
类型有错误啊~
------解决方案--------------------
http://download.csdn.net/detail/s478853630/4200795
或许对你有帮助
------解决方案--------------------
public class AxisClient {

public static void main(String[] args) throws Exception {

String targetEndPoint = "http://localhost:8080/Asix2Demo/services/HelloWorld";
Service ser = new Service();
try {
Call call = (Call) ser.createCall();
call.setTargetEndpointAddress(targetEndPoint);
call.setOperationName(new QName(targetEndPoint, "hello" ));
call.setOperation("hello");
String result = (String) call.invoke(new Object[] { new String("张三") });
System.out.println("result=" + result);
//call.setOperation("add");
//int addResult = (Integer) call.invoke(new Object[] {new Integer(1), new Integer(1) });
//System.out.println("addResult=" + addResult);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}

}


这是我弄的一个客户端 楼主是不是客户端方法哪里不对  或者定义的webservice哪里不对
------解决方案--------------------

//直接调url就可以吧?
String para = "";//参数
String url = "http://192.198.1.1:80/Database.asmx/Method?para="+para;

DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder=factory.newDocumentBuilder(); 
org.w3c.dom.Document doc = builder.parse(url);

org.w3c.dom.NodeList list =doc.getElementsByTagName("Table");
//然后循环去读List吧。。。
//类似于这样//list.item(i).getChildNodes().item(1).getChildNodes().item(0).getNodeValue()
  相关解决方案