一般不会的,主要是用Element(Envelope,Body等)辨别其结构是否符合SOAP协议的SCHEME.也就是说你发送出来的请求是符合SOAP协议定义的格式的包,就应该能被识别。此处soapenv只是个用来只是NameSpace的标识;
你用RPC的方式,请求包里的这些东西就比较难改啦,如果是用JAXM来实现的构造包的时候还可以做一些手脚。

解决方案 »

  1.   

    兄弟,这个属于XML基础知识。
    带有冒号的xml标签用于声明xml的标签元素的命名空间。
    为什么要使用命名空间呢?这是因为XML文档中同一个标签名可能
    有着不同的含义。例如<table>这个标签,一般我们知道它是一个
    网页上的表格,如果一个家具商,它当然认为这表示一张桌子了。
    有时即使是在一个XML文件内也可能有这样的命名冲突。因此
    XML规范制定者们引入了名字空间的概念。具体做法就是先用
    xmlns:xxx 声明一个命名空间,这样在标签的前面加个前缀并
    与标签本身的名字用冒号隔开。这就是SOAP的XML文本中冒号和
    xmlns满天飞的由来。
    这个前缀soapenv 应该而且只需要与xmlns:后面的东西完全一样。
    换句话说。你可以叫soapenv 也可以叫SOAP-ENV或其他任何你喜欢的名字,
    但后面的 xmlns:xxx=yyyy这个xxx也必须叫这个名字。后面的这个yyyy可是固定
    的内容。
    XML规范还规定了,命名空间是向下包含的。除非特别另外声明,子节点的
    命名空间默认就是它的父节点的命名空间,这样可以减少书写的麻烦。
      

  2.   

    补充一下,虽然SOAP的XML信息里这些名字空间令人眼花缭乱,
    但基本都是死的东西,一般各个SOAP SDK 工具会自动处理,开发人员并不需要
    关心太多,不用担心他们不通用。但如果彻底了解了SOAP信息的构成后在
    调试Web Service会更加做到心中有数。
      

  3.   

    不知道如何把axis1_1中的</soapenv>改成<SOAP-ENV>
    因为我们公司是跟中国移动合作,他的返回中做了硬性的规定
    只能是<SOAP-ENV>
      

  4.   

    首先明确一点,这个是完全不需要改的。
    是不是当官的觉得大写的顺眼一点呀。
    你可以臭骂他们一同,不懂装懂,瞎指挥。
    不过如果他们比你官大硬是要坚持,而且说不这样做就要炒你鱿鱼。
    那你还是妥协一下吧:
    将下载的axis源代码中的两个文件改一下,然后重新编译axis包。javax\xml\rpc\NamespaceConstants.java中的
    public static final String NSPREFIX_SOAP_ENVELOPE = "soapenv";org\apache\axis\Constants.java中的
    public static final String NS_PREFIX_SOAP_ENV   = "soapenv";千万不要让axis的人知道你改了这个地方哦,否则他们
    牙齿都要笑掉的啊。
      

  5.   

    我实在太想赞美卓望的人了,他们的"web service"misc平台是全世界最有品质的,从头到尾一字都不能错,一定要符合要求,是“SOAP-ENV”就不可以是“soapenv”,你看多严谨!!!!