请教有个webservice 500错误的错误.非常危

WebService(二)-&关于 WebService 的几个小问题和重要术语及相关工具使用(多图) - Web前端当前位置:& &&&WebService(二)-&关于 WebService 的几个小问WebService(二)-&关于 WebService 的几个小问题和重要术语及相关工具使用(多图)&&网友分享于:&&浏览:0次WebService(二)--&关于 WebService 的几个问题和重要术语及相关工具使用(多图)WebService 原理:HTTP + XML
一、WebService 是什么?
1.基于 web 的服务:服务器端整出一些资源让客户端应用访问(获取数据)
2.一个跨语言、跨平台的规范(抽象)
3.多个跨语言、跨平台的应用间通信整合的方案(实际)
以各个网站显示天气预报功能为例
& & 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过 WebService server),而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client)
二、为什么要用 WebService ?
1.跨平台调用
2.**/跨语言调用/**
3.远程调用
三、什么时候用 WebService ?
1.同一家公司的新旧功能之间(eg:语言不同)
2.不同公司应用之间(也是存在交互的,天猫与物流公司的交互)
3.一些提供数据的内容聚合应用:天气预报,股票行情
************************************************************************************************
四、WSDL:
& & web service definition language(WebService 定义语言)建立在 XML 和 Schema 基础上
暴露出来的接口(url)&
& & eg:.cn/WebServices/WeatherWS.asmx
获取 wsdl 文档,即在接口(url)后面加 &?wsdl&
1.对应了一种类型的文件 .wsdl。
2.定义了 web service 的服务器端与客户端应用交互传递请求和响应数据的格式和方式。
3.一个 web service 对应一个唯一的 wsdl 文档。
五、SOAP:
& & simple object access protocal(简单对象访问协议)
1.是一种简单的,基于&HTTP 和 XML&的协议,用于在 WEB 上交换结构化的数据(结构化数据指的是
2.soap 消息:请求消息和响应消息
& & 请求消息 eg:
& & 响应消息 eg:
3.http + xml 片段(xml 片段无头部)
& & WebService EndPoint Interface(webservice 终端[Server端]接口)
就是 WebService 服务器端用来处理请求的接口
& & Celtix + XFire
一个 apache 的用于开发 webservice 服务器端和客户端的框架
----------------------------------------------------------------------------------------------------
EE 自带 WS浏览器 查看 wsdl 文档
1.在 eclipse 页面点击,进入
WebService 浏览器。
2.点击右上角&WSDL
page,进入WSDL页面。
3.点击左侧 Navigator 下的 WSDL Main,出现 Actions 页面
4.在 Actions 页面中,输入 wsdl。
格式为:http://127.0.0.1:7001/?wsdl
点击 GO , 得到当前 wsdl 并对其进行解析。
5.展开点击当前实现类的某一方法,此处为
sayHello。
6.点击 Add 添加信息(Tom)
7.点击 Go 运行,控制台输出信息:
----------------------------------------------------------------------------------------
8.返回:在 Status 中
点击右上角 Source ,便可查看 SOAP 请求信封 以及 SOAP 响应信封。
版权声明:本文为博主原创文章,未经博主允许不得转载。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有查看: 1877|回复: 2
请教webservice接口调用出现的问题
论坛徽章:1
本帖最后由 loveduo213 于
14:47 编辑
faultCode: {}Client
faultSubcode:
faultString: 服务器无法读取请求。 ---& XML 文档(1, 489)中有错误。 ---& 输入字符串的格式不正确。
faultActor:
faultNode:
faultDetail:
{}stackTrace:服务器无法读取请求。 ---& XML 文档(1, 489)中有错误。 ---& 输入字符串的格式不正确。
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:784)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
at org.apache.axis.client.Call.invoke(Call.java:2748)
at org.apache.axis.client.Call.invoke(Call.java:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at MyWebServices.main(MyWebServices.java:55)
程序如下,请各位高手帮忙看一下该如何改正,非常感谢
提示的是MyTest mt = (MyTest) call.invoke(new Object[] { &user1&,& }); 这一行报错了
import javax.xml.namespace.QN
import org.apache.axis.client.C
import org.apache.axis.client.S
import org.apache.axis.encoding.ser.BeanDeserializerF
import org.apache.axis.encoding.ser.BeanSerializerF
public class MyWebServices {
public static void main(String[] args) {
&&String url = &&;
&&String soapaction = &&;
&&Service service = new Service();
& &QName qn = new QName(soapaction, &xxx&);&&//调用接口方法名
& &Call call = (Call) service.createCall();
& &call.registerTypeMapping(MyTest.class, qn,
& &&&new BeanSerializerFactory(MyTest.class, qn),
& &&&new BeanDeserializerFactory(MyTest.class, qn));
& &call.setOperationName(new QName(soapaction,
& &&&&xxx&));// 设置请求的命名空间及方法名
& &call.setTargetEndpointAddress(new java.net.URL(url));
& &call.addParameter(
& &&&new QName(soapaction, &userName&), // 设置要传递的参数
& &&&org.apache.axis.encoding.XMLType.XSD_STRING,
& &&&javax.xml.rpc.ParameterMode.IN);
& &call.addParameter(
& &&&new QName(soapaction, &password&), // 设置要传递的参数
& &&&org.apache.axis.encoding.XMLType.XSD_STRING,
& &&&javax.xml.rpc.ParameterMode.IN);
& &call.addParameter(
& &&&new QName(soapaction, &req&), // 设置要传递的参数
& &&&org.apache.axis.encoding.XMLType.SOAP_INT,
& &&&javax.xml.rpc.ParameterMode.IN);
& &call.setUseSOAPAction(true);
& &&&.setSOAPActionURI(& 设置SOAPAction
& &call.setReturnType(qn);
& &MyTest mt = (MyTest) call.invoke(new Object[] { &user1&,& });
& &System.out.println(&Get WebServices result is: & + mt);
&&} catch (Exception ex) {
& &ex.printStackTrace();
求职 : 认证徽章论坛徽章:184
{}stackTrace:服务器无法读取请求。 ---& XML 文档(1, 489)中有错误。 ---& 输入字符串的格式不正确。
求职 : 认证徽章论坛徽章:184
xml中文件有注释吗?
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号

参考资料

 

随机推荐