一般不会的,主要是用Element(Envelope,Body等)辨别其结构是否符合SOAP协议的SCHEME.也就是说你发送出来的请求是符合SOAP协议定义的格式的包,就应该能被识别。此处soapenv只是个用来只是NameSpace的标识;
你用RPC的方式,请求包里的这些东西就比较难改啦,如果是用JAXM来实现的构造包的时候还可以做一些手脚。
你用RPC的方式,请求包里的这些东西就比较难改啦,如果是用JAXM来实现的构造包的时候还可以做一些手脚。
解决方案 »
- 简述如何使用XMLHttpRequest对象实现无刷新效果
- Lucene 如何实现自定义分词???
- java连接池的问题
- ssh关于如何使用页面收缩效果
- 帮我看下这公司是不是正规的???
- hql 跨多表查询
- 刚刚学完java的基础,为了少走弯路,各位大侠,怎样学J2EE比较好~~请给点小弟建议,谢谢
- dom 书籍
- 新手提问:关于freemarker生成静态文件的问题?
- 请问,为什么非要用struts里提供的标签
- 怎样设置jTable 的列头(COLUMN)的字体.
- 利用weblogic workshop构建的webservice生成的*.jws文件跟一般的*.java webservice有什么异同?
带有冒号的xml标签用于声明xml的标签元素的命名空间。
为什么要使用命名空间呢?这是因为XML文档中同一个标签名可能
有着不同的含义。例如<table>这个标签,一般我们知道它是一个
网页上的表格,如果一个家具商,它当然认为这表示一张桌子了。
有时即使是在一个XML文件内也可能有这样的命名冲突。因此
XML规范制定者们引入了名字空间的概念。具体做法就是先用
xmlns:xxx 声明一个命名空间,这样在标签的前面加个前缀并
与标签本身的名字用冒号隔开。这就是SOAP的XML文本中冒号和
xmlns满天飞的由来。
这个前缀soapenv 应该而且只需要与xmlns:后面的东西完全一样。
换句话说。你可以叫soapenv 也可以叫SOAP-ENV或其他任何你喜欢的名字,
但后面的 xmlns:xxx=yyyy这个xxx也必须叫这个名字。后面的这个yyyy可是固定
的内容。
XML规范还规定了,命名空间是向下包含的。除非特别另外声明,子节点的
命名空间默认就是它的父节点的命名空间,这样可以减少书写的麻烦。
但基本都是死的东西,一般各个SOAP SDK 工具会自动处理,开发人员并不需要
关心太多,不用担心他们不通用。但如果彻底了解了SOAP信息的构成后在
调试Web Service会更加做到心中有数。
因为我们公司是跟中国移动合作,他的返回中做了硬性的规定
只能是<SOAP-ENV>
是不是当官的觉得大写的顺眼一点呀。
你可以臭骂他们一同,不懂装懂,瞎指挥。
不过如果他们比你官大硬是要坚持,而且说不这样做就要炒你鱿鱼。
那你还是妥协一下吧:
将下载的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的人知道你改了这个地方哦,否则他们
牙齿都要笑掉的啊。