首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JAX WS生成的wsdl名称空间问题

从JAX WS生成的wsdl名称空间问题
EN

Stack Overflow用户
提问于 2016-09-07 12:32:03
回答 2查看 1.1K关注 0票数 0

我在tomcat服务器上部署了一个web服务,并为它生成了一个wsdl文件。

后来,我通过wsdl生成了一个新的soap项目,并向服务器执行了一个soap请求。

这里的问题是在服务器端,由于"InputData“和"CCNA”的命名空间前缀错误,xml的解组失败了。目前是cfa

根据java代码,InputData的命名空间是xs,CCNA是bim。因此,如果我修改soap请求,那么unmarshall在服务器端是可以的。

那么,问题在哪里?WSDL生成还是JAX中的其他任何地方?我不应该修改soap请求。

SOAP请求:

代码语言:javascript
复制
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfa="http://cfa.ni.ctl.com/" xmlns:bim="http://www.qwest.com/XMLSchema/BIM" xmlns:xs="http://www.qwest.com/XMLSchema">
   <soapenv:Header/>
   <soapenv:Body>
      <cfa:getCFACircuit>
         <!--Optional:-->
         <CFACircuitRequest>
            <bim:RequestId>123</bim:RequestId>
            <bim:WebServiceName>123</bim:WebServiceName>
            <bim:RequestPurpose>123</bim:RequestPurpose>
            <bim:AuthorizationInfo>
               <!--Optional:-->
               <bim:ApplicationId>123</bim:ApplicationId>
               <!--Optional:-->
               <bim:UserId>123</bim:UserId>
               <!--Optional:-->
               <bim:Userid>123</bim:Userid>
               <bim:Password>123</bim:Password>
            </bim:AuthorizationInfo>
            <!--Optional:-->
            <bim:TargetSchemaVersionUsed>
               <!--Optional:-->
               <bim:TargetXSDName>123</bim:TargetXSDName>
               <!--Optional:-->
               <bim:MajorVersionNumber>123</bim:MajorVersionNumber>
               <!--Optional:-->
               <bim:MinorVersionNumber>123</bim:MinorVersionNumber>
            </bim:TargetSchemaVersionUsed>
            <!--Optional:-->
            <bim:TimeOutSecond>123</bim:TimeOutSecond>
            <!--Optional:-->
            <bim:SendTimeStamp>123</bim:SendTimeStamp>
            <cfa:InputData>
               <cfa:CCNA>123</cfa:CCNA>
               <xs:CableKey>
                  <!--Optional:-->
                  <xs:LowUnit>123</xs:LowUnit>
                  <!--Optional:-->
                  <xs:HighUnit>123</xs:HighUnit>
                  <!--Optional:-->
                  <xs:CableId>123</xs:CableId>
                  <!--Optional:-->
                  <xs:CableSubPath>123</xs:CableSubPath>
                  <!--Optional:-->
                  <xs:CLLIALocation>123</xs:CLLIALocation>
                  <!--Optional:-->
                  <xs:CLLIZLocation>123</xs:CLLIZLocation>
               </xs:CableKey>
            </cfa:InputData>
         </CFACircuitRequest>
      </cfa:getCFACircuit>
   </soapenv:Body>
</soapenv:Envelope>

服务器上输入数据的XML注释是:

@XmlElement(名称= "InputData",命名空间= "http://www.qwest.com/XMLSchema",必需=真)

EN

回答 2

Stack Overflow用户

发布于 2016-09-07 12:43:39

我猜您的XML请求是不正确的。请尝试首先根据XML架构验证您的请求。

使用哪个名称空间前缀并不重要,但需要确保XML元素与适当的命名空间匹配。

票数 0
EN

Stack Overflow用户

发布于 2016-09-07 14:26:29

Ajay,您的注释是:

@XmlElement(名称= "InputData",命名空间= "http://www.qwest.com/XMLSchema",必需=真)

但是在您的XML请求中,元素InputData属于名称空间"http://cfa.ni.ctl.com/“。

您需要修复注释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39370055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档