【问题标题】:IBM content manager web service does not return proper responseIBM 内容管理器 Web 服务未返回正确响应
【发布时间】:2014-05-02 09:33:28
【问题描述】:

我正在使用 DB2 Content Manager 企业版,版本 8.4.2。为了管理内容管理器,我正在使用 Web 服务。我从 URL http://ibmcm/CMBSpecificWebService/services/CMWebService?wsdl 获得了 wsdl 文件(ibmcm 是我安装内容管理器的服务器的名称)。

但对于 RetrieveItemRequest,它不会返回正确的响应。所以 Apache CXF 无法处理响应。有人遇到过这个问题吗?

请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.ibm.com/xmlns/db2/cm/beans/1.0/schema">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:RetrieveItemRequest retrieveOption="CONTENT" contentOption="ATTACHMENTS" version="latest-version" checkout="false">
         <!--Optional:-->
         <sch:AuthenticationData connectString="" configString="?" connectToWorkflow="false">
            <sch:ServerDef>
               <!--You may enter the following 2 items in any order-->
               <!--Optional:-->
               <sch:ServerType>ICM</sch:ServerType>
               <sch:ServerName>icmnlsdb</sch:ServerName>
            </sch:ServerDef>
            <!--You have a CHOICE of the next 2 items at this level-->

            <sch:LoginData>
               <sch:UserID>icmadmin</sch:UserID>
               <sch:Password>password</sch:Password>
            </sch:LoginData>
         </sch:AuthenticationData>
         <!--Zero or more repetitions:-->
         <sch:Item URI="http://ibmcm/CMBSpecificWebService/CMBGetPIDUrl?pid=86 3 ICM8 icmnlsdb7 STUDENT59 26 A1001001A14D23B30730I1246518 A14D23B30730I124651 14 1087&amp;server=icmnlsdb&amp;dsType=ICM"/>
      </sch:RetrieveItemRequest>
   </soapenv:Body>
</soapenv:Envelope>

回应:

【问题讨论】:

  • 您确定您的请求有效吗?
  • 是的。我通过soapUI完成。仅其正确的请求。
  • 那么,如果我理解正确的话:当您使用soapUI 发送请求时,您会得到有效的响应和预期的结果吗?复制您的soapUI信封请求并将其粘贴到您的程序中(测试目的)。
  • 是的,我尝试过使用 java 代码和soapUI。同样的不当回应。
  • RetrieveItem 功能可能无法正常工作。使用soapUI 的测试必须成功才能继续。您是否已经查看了控制台以查看确切的请求(网络选项卡)?你能发布RetrieveItem函数吗?

标签: web-services cxf db2-content-manager


【解决方案1】:

你看过GenericWebServiceSample.java

以下是sn-p的代码。身份验证sn-p: 受保护的静态最终字符串 AUTHENTICATION_DATA_TEMPLATE =

"<AuthenticationData  connectString=\"SCHEMA=ICMADMIN\" configString=\"\">" + 
  "<ServerDef>"                                                 + 
    "<ServerType>{0}</ServerType>"                              + 
    "<ServerName>{1}</ServerName>"                              + 
  "</ServerDef>"                                                + 
  "<LoginData>"                                                 + 
    "<UserID>{2}</UserID>"                                      + 
    "<Password>{3}</Password>"                                  + 
  "</LoginData>"                                                + 
"</AuthenticationData>" 

检索带有附件 sn-p 的项目:

protected static final String RETRIEVE_ITEM_WITH_ATTACHMENTS_TEMPLATE = 
        "<RetrieveItemRequest contentOption=\"ATTACHMENTS\" retrieveOption=\"CONTENT\" " +
                              "xmlns=\"http://www.ibm.com/xmlns/db2/cm/beans/1.0/schema\">" +
            "{0}" +
            "<Item URI=\"{1}\"/>" +
        "</RetrieveItemRequest>";

尝试添加您的请求中缺少的connectString=\"SCHEMA=ICMADMIN\"

【讨论】:

  • 我在我的请求中添加了。但是在发布时我删除了它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多