出于集成目的,我们需要在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无法读取架构吗?
答案 0 :(得分:1)
我已经解决了这个问题。 问题出在SOAP版本上。由TIBCO提供的wsdl的SOAP版本为1.2,HP SM期望为1.1
SOAP 1.2支持application / soap + xml,而SOAP 1.1支持text / xml。这就是我收到内容类型错误的原因。