0

出于集成目的,我们需要在 HP SM 中使用 TIBCO 公开的 Web 服务。

在 HP SM 中,我们使用名为 wsdl2js 的实用程序使用 Web 服务,该实用程序使用 wsdl url 创建 JavaScript。我可以使用 wsdl2js,但是当我调用 Web 服务时,我可以看到请求 xml 在 SM 中形成,但作为响应,我收到一条错误消息“

Error calling method: doSoapRequest in class:com/hp/ov/sm/server/utility/SoapClient  
Exception(com.sun.xml.messaging.saaj.SOAPExceptionImpl: 
java.security.PirvilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: 
Invalid Content-type:text/html.Is this an error message instead of a SOAP response?

在 wsdl 文件中,有以下模式:

    <?xml version="1.0" encoding="UTF-8"?>
<!--Created by TIBCO WSDL-->
<wsdl:definitions xmlns:ns1="http://www.tibco.com/schemas/TIGIaaS-IP085/WSDL and XSD/Schema.xsd4" xmlns:tns="http://xmlns.example.com/1372306950675/CreateUpdateIncidentImpl/BusinessProcesses/_00-InputChannels" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns0="http://www.tibco.com/schemas/TIGIaaS-IP085v0.2/WSDL and XSD/Schema.xsd2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" name="Untitled" targetNamespace="http://xmlns.example.com/1372306950675/CreateUpdateIncidentImpl/BusinessProcesses/_00-InputChannels">
    <wsdl:types>
        <xs:schema xmlns="http://www.tibco.com/schemas/TIGIaaS-IP085v0.2/WSDL and XSD/Schema.xsd2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.tibco.com/schemas/TIGIaaS-IP085v0.2/WSDL and XSD/Schema.xsd2" elementFormDefault="qualified" attributeFormDefault="unqualified">
            <xs:element name="HPSM">

此错误是否是因为安装在与 TIBCO 不同的 unix 服务器上的 SM 无法读取模式?

4

1 回答 1

1

我已经解决了这个问题。问题出在 SOAP 版本上。TIBCO 提供的 wsdl 的 SOAP 版本为 1.2,HP SM 期望为 1.1

SOAP 1.2 支持 application/soap+xml,而 SOAP 1.1 支持 text/xml。这就是我收到内容类型错误的原因。

于 2013-07-22T15:40:48.530 回答