解决方案 »

  1.   

    看来你完全不明白webservice是怎么回事啊。你要去手动解析soap报文协议?难道你上网的时候还要去关注解析tcp/ip协议?你发的这个不是客户端要发的报文,而是报文格式的定义。你要通过服务端提供给你的报文格式(一般是wsdl文件或者xsd),生成客户端调用,或者直接通过wsdl去调用(axis2,xfire等等),调用的报文是根据这个soap协议来的。
      

  2.   

    首先,你的业务不就是一个系统分发多个么,一个客户端对应多个服务端么。这个定义格式什么关系么?是个集团型企业都会有大量的这种接口,各种方案,没有一种是由客户端单方确定的。其次,如果做多系统分发,实际上也是一个接口,只不过服务端是多个而已,客户端或者中间的总线做分发逻辑而已,整体接口报文都是一致的。这个接口的规则和格式肯定是多方确定的,服务端按照格式做好了提供给客户端再去做,只不过多家服务端自己按照自己的平台开发接口,但提供出来的wsdl都是一致的。
      

  3.   

    这样的项目本人之前也做过,楼上说的比较片面吧,如果是在搭建整个环境的时候,会是那样的,会把所有设计接口的厂家汇到一起讨论这个接口的架构,标准都是什么,确定好后大家自己去做自己的,只要保证标准一样就好。
    但是想过比如说几年后有一套新的业务要加入的时候,其实原始的接口标准已经固定了,作为服务端必须去满足客户端的标准,而这种情况客户端业务作为总协调业务,不一定会提供webservice的服务端WSDL给新的服务端业务使用,因为可能他压根就没有。所以如何解析这段报文就成了重点了。
    Java的webservice框架不少,比如说楼主用过的xfire或Jax-ws,还有就是axis2,具体我也不能一个一个试怎么能解析得出来。
    不过我可以给楼主一个思路,也是我完成这个项目的思路,用http去处理,webservice只不过是把http请求更好的控制了,去帮你解析了报文,其实里面接值的还是servlet,request请求和response响应,那你都把报文弄出来了,一定知道http请求是什么样子的了,所以用servlet接一下处理吧,也就变成处理这个报文了。有问题可以再沟通。
      

  4.   

    用http的道路也是非常艰辛和不容易啊,刚刚解决,基本上花了两个多月,不过还是十分感谢你的思路。
    另外我还有一个帖子,跟这个问题是一样的,分你也拿走吧。
    http://bbs.csdn.net/topics/390951763
    地址奉上