Jquery ajax访问webservice失败~!100分!求教!

百球恩 2013-05-29 11:25:53
客户端代码:

$.ajax({
async : false,
url : 'http://192.168.1.111:8080/scm_erp/services/scmService?WSDL/getList_basic', // 跨域URL
type : 'post',
contentType: "application/json;UTF-8",
// dataType : 'jsonp',
dataType : 'json',
//jsonp : 'jsoncallback', //默认callback
data : '',
timeout : 5000,
beforeSend : function() {
},
success : function(json) {
alert(json);
},
complete : function(XMLHttpRequest, textStatus) {

},
error : function(xhr) {
//请求出错处理
myAlert("请求出错(请检查相关度网络状况.)");
}
});


webservice:
webservice是java xfire发布的
就是简单的返回一个ok方法如下:

public String getList_basic() {
// TODO Auto-generated method stub
System.out.println("123");//这句话打印不出
return "ok";
}


WSDL可以访问,地址是:http://192.168.1.111:8080/scm_erp/services/scmService?WSDL

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>


services.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">

<service>
<name>scmService</name>
<serviceClass>com.scm.service.IscmService</serviceClass>
<namespace>http://192.168.1.111:8080/scm_erp/services/scmService</namespace>
<implementationClass>
com.scm.service.scmServiceImpl
</implementationClass>
</service>

</beans>

每一次访问时会报这样的错误:

2013-5-29 11:22:24 org.codehaus.xfire.handler.DefaultFaultHandler invoke
信息: Fault occurred!
com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:661)
at com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doGet(XFireServlet.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)


请问有没有谁知道如何解决?网上有人说是防火墙和杀毒软件,我全关了。
...全文
208 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
forgetsam 2013-05-31
  • 打赏
  • 举报
回复
http://192.168.1.111:8080/scm_erp/services/scmService 这才应该是访问地址 发送的不是json,是soap或者restful格式的xml,比如
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:q0="http://com.test.ws/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <S:Body>
  <q0:getList_basic>
  <in0>drl</in0> 
  </q0:getList_basic>
  </S:Body>
  </S:Envelope>
你那个方法名是xml里的一部分 先把最基本的webservice弄明白了再说。
benlaten 2013-05-31
  • 打赏
  • 举报
回复
自己后台写个解析,访问下ws,看能不能调用接口
ZHOU西口 2013-05-29
  • 打赏
  • 举报
回复
contentType:"text/xml",请求的不是json吧

67,513

社区成员

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

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