注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

web services  

2013-07-22 22:23:05|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      web services的wsdl文件,types是数据类型定义的容器
message 通信消息的数据结构的抽象类型化定义。message包含了一组part,part引用dagaType。
operation 对服务中所支持的操作的抽象描述,一般单个operation描述了一个访问入口的请求/响应消息对。
portType 对于某个访问入口点类型所支持的操作的操作集合。
binding 特定端口类型的具体协议和数据格式规范的绑定。定义了某个portType与某一具体的网络传输协议或消息传输协议相绑定。
port 协议/数据格式绑定与具体web访问地址组合的单个服务访问点。
service 相关服务访问点的集合。

      调用web services是出现错误,Client SOAP fault received as Server......。这种情况是服务端发生了错误,我调的是.net的服务端,错误信息有提示[xxxpath]\xxx.cs文件 line xxx出错了。这时就需要服务端查看原因,不过有时候给的参数异常也会引发这个问题,比如给个内容为"null"字符串,而对方需转换成整型,就会出错。

      使用JAXB是出现这个错,
com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.internal.bind.api.JAXBRIContext
这个是JAX-WS Provider (JAXB) 的加载顺序问题。jdk中默认有实现,如果使用另一个实现,比如jaxb-impl,配置如下
                <dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.7</version>
</dependency>
就会报这个错,解决方法是把jaxws-rt的依赖也要加上:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.8</version>
</dependency>
                <dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.7</version>
</dependency>
在META-INF\services目录下加上文件javax.xml.bind.JAXBContext,文件内容是
com.sun.xml.bind.v2.ContextFactory

webservice执行的时候,有时候会报下面这样的错误
javax.xml.ws.soap.SOAPFaultException: String index out of range: -6
后面的异常信息会变的,比如有时候是空指针异常。发生这种异常通常是由服务端有错误,未对错误进行处理,导致错误,解决服务端错误才能解决根本问题。
  评论这张
 
阅读(593)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017