QuickBooks Web连接器错误 - Django Soap Web服务 - 从服务器版本调用的Web服务收到的实际错误

时间:2013-08-07 12:32:55

标签: django quickbooks soaplib qbwc

我在django中编写了一个SOAP Web服务,我已经安装了以下组件

  1. 我系统中的soaplib-0.8.1
  2. Quickbooks Pro
  3. QBWC版本2.1.0.30 - Intuit
  4. 当我尝试将应用程序(.qwc文件)添加到QBWC(Quick Books Web Connector)时,它正在调用我的Web服务。它给了我以下错误

    错误: 20130807.09:03:28 UTC:QBWebConnector.WebServiceManager.DoUpdateSelected():updateWS()for application =&#39; Quick Books Integration&#39;已经开始 20130807.09:03:28 UTC:QBWebConnector.RegistryManager.getUpdateLock():HKEY_CURRENT_USER \ Software \ Intuit \ QBWebConnector \ UpdateLock = FALSE 20130807.09:03:28 UTC:QBWebConnector.RegistryManager.setUpdateLock():HKEY_CURRENT_USER \ Software \ Intuit \ QBWebConnector \ UpdateLock已设置为True 20130807.09:03:28 UTC:QBWebConnector.RegistryManager.setUpdateLock(): * ** * ** * *** < em> 锁定更新会话 ** * ** * ** * * 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.instantiateWebService():启动与以下应用程序的连接。 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.instantiateWebService():AppName:Cognam Technologies Pvt Ltd快速书籍集成 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.instantiateWebService():AppUniqueName(如果可用):Quick Books Integration 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.instantiateWebService():AppURL:http:// test :8000 / qwc / qwcintegration / service.wsdl 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_serverVersion(): *调用serverVersion()。 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_serverVersion():从serverVersion调用的Web服务收到的实际错误:。为了向后兼容所有Web服务器,QBWC将捕获app-not-supported-serverVersion下的所有错误。 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_serverVersion():此应用程序不包含对serverVersion的支持。允许更新操作以实现向后兼容。 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_clientVersion():* 使用以下参数调用clientVersion(): 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.updateWS():从clientVersion调用的Web服务收到的实际错误:。为了向后兼容所有Web服务器,QBWC将捕获app-not-supported-clientVersion下的所有错误。 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_clientVersion():此应用程序不包含对clientVersion的支持。允许更新操作以实现向后兼容。 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_authenticate():对应用程序进行身份验证&#39; Quick Books Integration&#39;,username =&#39; anil&#39; 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_authenticate(): *使用以下参数调用authenticate(): 20130807.09:03:28 UTC:QBWebConnector.SOAPWebService.do_authenticate():QBWC1012:由于以下错误消息,身份验证失败。 底层连接已关闭:接收时发生意外错误。 更多信息: StackTrace = at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)    在System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest请求)    在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object []参数)    在QBWebConnector.localhost.WCWebServiceDoc.authenticate(String strUserName,String strPassword)    在QBWebConnector.localhost.WCWebService.authenticate(String strUserName,String strPassword)    在QBWebConnector.SOAPWebService.authenticate(String UserName,String Password)    在QBWebConnector.WebService.do_authenticate(String&amp; ticket,String&amp; companyFileName) Source = System.Web.Services 20130807.09:03:28 UTC:QBWebConnector.RegistryManager.setUpdateLock():HKEY_CURRENT_USER \ Software \ Intuit \ QBWebConnector \ UpdateLock已设置为False 20130807.09:03:28 UTC:QBWebConnector.RegistryManager.setUpdateLock(): * ** * ** * ** * < / em> * 更新会话已解锁 * ** * ** * **** 20130807.09:03:28 UTC:QBWebConnector.WebServiceManager.DoUpdateSelected():更新已完成但有错误。有关详细信息,请参阅log(QWClog.txt)。

    Webservice的url包含localhost而不是test。当发布问题时,它不允许我提供与localhost的链接,我将其更改为test。 qwc文件中的实际链接包含localhost而不是test。

    请帮帮我。 我猜QBWC使用的SOAP版本和我安装的版本不兼容

    我真的不知道我哪里出错了。请帮我解决这个问题。 提前致谢

    代码如下: 的 views.py

    来自soaplib_handler import Array,String,Integer 来自soaplib进口肥皂 来自soaplib.service import soapmethod 来自soaplib_handler导入DjangoSoapApp,soapmethod,soap_types

    类QuickBooksService(DjangoSoapApp):

    __tns__ = 'http://developer.intuit.com/'
    
    @soapmethod(soap_types.String, _returns=soap_types.String)
    def serverVersion(self, ticket):
        print 'serverVersion()'
        print ticket
        return '2.1'
    
    @soapmethod(soap_types.String,
                soap_types.String,
                _returns=Array(String),
                _outMessage='{http://developer.intuit.com/}authenticateResponse',
                _outVariableName='authenticateResult',
                )
    def authenticate(self, strUserName, strPassword):
        print 'authenticate()'
        results = []
        results.append('{85B41BEE-5CD9-427a-A61B-83964F1EB426}')
        results.append('')
        results.append('')
    
        print strUserName
        print strPassword
        print results
        return results
    
    @soapmethod(soap_types.String, _returns=soap_types.String)
    def clientVersion(self, strVersion):
        print 'clientVersion()'
        print strVersion
        return ""
    
    @soapmethod(soap_types.String, _returns=soap_types.String)
    def closeConnection(self, ticket):
        print 'closeConnection()'
        print ticket
        return 'closeConnection() called on WS'
    
    @soapmethod(soap_types.String,
                soap_types.String,
                soap_types.String,
                _returns=soap_types.String)
    def connectionError(self, ticket, hresult, message):
        print 'connectionError'
        print ticket
        print hresult
        print message
        return 'done'
    
    @soapmethod(soap_types.String, _returns=soap_types.String)
    def getLastError(self, ticket):
        print 'lastError()'
        print ticket
        return 'Problems foo bar'
    
    @soapmethod(soap_types.String,
                soap_types.String,
                soap_types.String,
                soap_types.String,
                _returns=Integer,
                _outMessage='{http://developer.intuit.com/}receiveResponseXMLResponse',
                _outVariableName='receiveResponseXMLResult',)
    def receiveResponseXML(self, ticket, response, hresult, message):
        print 'receiveResponseXML()'
        print "ticket=" + ticket
        print "response=" + response
        if hresult:
            print "hresult=" + hresult
            print "message=" + message
        return 100
    
    @soapmethod(soap_types.String,
                soap_types.String,
                soap_types.String,
                soap_types.String,
                soap_types.Integer,
                soap_types.Integer,
                _returns=String,
                _outMessage='{http://developer.intuit.com/}sendRequestXMLResponse',
                _outVariableName='sendRequestXMLResult',)
    def sendRequestXML(self, ticket, strHCPResponse, strCompanyFileName, qbXMLCountry, qbXMLMajorVers, qbXMLMinorVers ):
        print 'sendRequestXML()'
        print strHCPResponse
        xml =   "<?xml version=\"1.0\" ?>" + \
                "<?qbxml version=\"2.0\"?>" + \
                    "<QBXML>" + \
                        "<QBXMLMsgsRq onError=\"stopOnError\">" + \
                        "<ItemQueryRq></ItemQueryRq>" + \
                    "</QBXMLMsgsRq>" + \
                "</QBXML>"
        return xml
    
    
    @soapmethod(soap_types.String,
                soap_types.String,
                _returns=soap_types.String)
    def interactiveUrl(self, ticket, sessionID):
        print 'interactiveUrl'
        print ticket
        print sessionID
        return 'http://localhost/test'
    
    
    @soapmethod(soap_types.String, _returns=soap_types.String)
    def interactiveDone(self, ticket):
        print 'interactiveDone()'
        print ticket
        return 'Done'
    
    @soapmethod(soap_types.String,
                soap_types.String,
                _returns=soap_types.String)
    def interactiveRejected(self, ticket, reason):
        print 'interactiveRejected()'
        print ticket
        print reason
        return 'Message to show'
    

    quickbooks_service = QuickBooksService()

    Soaplib_handler.py

    来自django.http导入HttpResponse 从soaplib.serializers导入原语作为soap_types 来自soaplib.serializers.primitive import _element_to_unicode,Null,_element_to_integer 来自soaplib.service import soapmethod 来自soaplib.wsgi_soap导入SimpleWSGISoapApp

    类DjangoSoapApp(SimpleWSGISoapApp):

    def __call__(self, request):
        print "inside call method"
        django_response = HttpResponse()
        def start_response(status, headers):
            print "initial"
            print status
            print headers
            status, reason = status.split(' ', 1)
            # try:
            #     status, reason = status.split(' ', 1)
            # except:
            #     status = status.split(' ')
            #     reason = ''
    
            print "status"
            print status
            # s1 = status[0]
            django_response.status_code = int(status)
            for header, value in headers:
                django_response[header] = value
    
        print "Over"
    
        response = super(DjangoSoapApp, self).__call__(request.META, start_response)
        django_response.content = "\n".join(response)
    
        return django_response
    

    urls.py

    urlpatterns = patterns(&#39;&#39;,

    url(r'^hello_world/', views.quickbooks_service, name='service'),
    url(r'^hello_world/service.wsdl', views.quickbooks_service, name='service2'),
    

    我点击浏览器时的肥皂反应: -----------------------------------------&GT;

    <definitions xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:tns="http://developer.intuit.com/" xmlns:typens="http://developer.intuit.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://developer.intuit.com/" name="QuickBooksService">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://developer.intuit.com/">
    <xs:element name="interactiveUrlResponse" type="tns:interactiveUrlResponse"/>
    <xs:complexType name="connectionError">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    <xs:element name="hresult" type="xs:string"/>
    <xs:element name="message" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="getLastErrorResponse">
    <xs:sequence>
    <xs:element name="getLastErrorResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="interactiveRejected">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    <xs:element name="reason" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="clientVersion" type="tns:clientVersion"/>
    <xs:element name="receiveResponseXML" type="tns:receiveResponseXML"/>
    <xs:complexType name="interactiveRejectedResponse">
    <xs:sequence>
    <xs:element name="interactiveRejectedResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="interactiveRejectedResponse" type="tns:interactiveRejectedResponse"/>
    <xs:complexType name="connectionErrorResponse">
    <xs:sequence>
    <xs:element name="connectionErrorResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="getLastErrorResponse" type="tns:getLastErrorResponse"/>
    <xs:element name="interactiveRejected" type="tns:interactiveRejected"/>
    <xs:complexType name="getLastError">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="authenticate">
    <xs:sequence>
    <xs:element name="strUserName" type="xs:string"/>
    <xs:element name="strPassword" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="clientVersion">
    <xs:sequence>
    <xs:element name="strVersion" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="interactiveUrl" type="tns:interactiveUrl"/>
    <xs:complexType name="interactiveUrlResponse">
    <xs:sequence>
    <xs:element name="interactiveUrlResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="connectionError" type="tns:connectionError"/>
    <xs:element name="getLastError" type="tns:getLastError"/>
    <xs:element name="{http://developer.intuit.com/}sendRequestXMLResponse" type="tns:{http://developer.intuit.com/}sendRequestXMLResponse"/>
    <xs:element name="{http://developer.intuit.com/}authenticateResponse" type="tns:{http://developer.intuit.com/}authenticateResponse"/>
    <xs:complexType name="interactiveDone">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="serverVersion">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="connectionErrorResponse" type="tns:connectionErrorResponse"/>
    <xs:element name="sendRequestXML" type="tns:sendRequestXML"/>
    <xs:element name="authenticate" type="tns:authenticate"/>
    <xs:element name="closeConnectionResponse" type="tns:closeConnectionResponse"/>
    <xs:element name="interactiveDone" type="tns:interactiveDone"/>
    <xs:element name="serverVersionResponse" type="tns:serverVersionResponse"/>
    <xs:element name="{http://developer.intuit.com/}receiveResponseXMLResponse" type="tns:{http://developer.intuit.com/}receiveResponseXMLResponse"/>
    <xs:element name="serverVersion" type="tns:serverVersion"/>
    <xs:complexType name="interactiveUrl">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    <xs:element name="sessionID" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="stringArray">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" type="tns:string" name="string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="interactiveDoneResponse">
    <xs:sequence>
    <xs:element name="interactiveDoneResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="receiveResponseXML">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    <xs:element name="response" type="xs:string"/>
    <xs:element name="hresult" type="xs:string"/>
    <xs:element name="message" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="sendRequestXML">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    <xs:element name="strHCPResponse" type="xs:string"/>
    <xs:element name="strCompanyFileName" type="xs:string"/>
    <xs:element name="qbXMLCountry" type="xs:string"/>
    <xs:element name="qbXMLMajorVers" type="xs:int"/>
    <xs:element name="qbXMLMinorVers" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="closeConnectionResponse">
    <xs:sequence>
    <xs:element name="closeConnectionResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="{http://developer.intuit.com/}receiveResponseXMLResponse">
    <xs:sequence>
    <xs:element name="receiveResponseXMLResult" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="{http://developer.intuit.com/}sendRequestXMLResponse">
    <xs:sequence>
    <xs:element name="sendRequestXMLResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="serverVersionResponse">
    <xs:sequence>
    <xs:element name="serverVersionResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="interactiveDoneResponse" type="tns:interactiveDoneResponse"/>
    <xs:element name="closeConnection" type="tns:closeConnection"/>
    <xs:complexType name="closeConnection">
    <xs:sequence>
    <xs:element name="ticket" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="stringArray" type="tns:stringArray"/>
    <xs:element name="clientVersionResponse" type="tns:clientVersionResponse"/>
    <xs:complexType name="clientVersionResponse">
    <xs:sequence>
    <xs:element name="clientVersionResult" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="{http://developer.intuit.com/}authenticateResponse">
    <xs:sequence>
    <xs:element name="authenticateResult" type="tns:stringArray"/>
    </xs:sequence>
    </xs:complexType>
    </schema>
    </types>
    <message name="authenticate">
    <part name="authenticate" element="tns:authenticate"/>
    </message>
    <message name="{http://developer.intuit.com/}authenticateResponse">
    <part name="{http://developer.intuit.com/}authenticateResponse" element="tns:{http://developer.intuit.com/}authenticateResponse"/>
    </message>
    <message name="clientVersion">
    <part name="clientVersion" element="tns:clientVersion"/>
    </message>
    <message name="clientVersionResponse">
    <part name="clientVersionResponse" element="tns:clientVersionResponse"/>
    </message>
    <message name="closeConnection">
    <part name="closeConnection" element="tns:closeConnection"/>
    </message>
    <message name="closeConnectionResponse">
    <part name="closeConnectionResponse" element="tns:closeConnectionResponse"/>
    </message>
    <message name="connectionError">
    <part name="connectionError" element="tns:connectionError"/>
    </message>
    <message name="connectionErrorResponse">
    <part name="connectionErrorResponse" element="tns:connectionErrorResponse"/>
    </message>
    <message name="getLastError">
    <part name="getLastError" element="tns:getLastError"/>
    </message>
    <message name="getLastErrorResponse">
    <part name="getLastErrorResponse" element="tns:getLastErrorResponse"/>
    </message>
    <message name="interactiveDone">
    <part name="interactiveDone" element="tns:interactiveDone"/>
    </message>
    <message name="interactiveDoneResponse">
    <part name="interactiveDoneResponse" element="tns:interactiveDoneResponse"/>
    </message>
    <message name="interactiveRejected">
    <part name="interactiveRejected" element="tns:interactiveRejected"/>
    </message>
    <message name="interactiveRejectedResponse">
    <part name="interactiveRejectedResponse" element="tns:interactiveRejectedResponse"/>
    </message>
    <message name="interactiveUrl">
    <part name="interactiveUrl" element="tns:interactiveUrl"/>
    </message>
    <message name="interactiveUrlResponse">
    <part name="interactiveUrlResponse" element="tns:interactiveUrlResponse"/>
    </message>
    <message name="receiveResponseXML">
    <part name="receiveResponseXML" element="tns:receiveResponseXML"/>
    </message>
    <message name="{http://developer.intuit.com/}receiveResponseXMLResponse">
    <part name="{http://developer.intuit.com/}receiveResponseXMLResponse" element="tns:{http://developer.intuit.com/}receiveResponseXMLResponse"/>
    </message>
    <message name="sendRequestXML">
    <part name="sendRequestXML" element="tns:sendRequestXML"/>
    </message>
    <message name="{http://developer.intuit.com/}sendRequestXMLResponse">
    <part name="{http://developer.intuit.com/}sendRequestXMLResponse" element="tns:{http://developer.intuit.com/}sendRequestXMLResponse"/>
    </message>
    <message name="serverVersion">
    <part name="serverVersion" element="tns:serverVersion"/>
    </message>
    <message name="serverVersionResponse">
    <part name="serverVersionResponse" element="tns:serverVersionResponse"/>
    </message>
    <portType name="QuickBooksService">
    <operation name="authenticate" parameterOrder="authenticate">
    <documentation/>
    <input name="authenticate" message="tns:authenticate"/>
    <output name="{http://developer.intuit.com/}authenticateResponse" message="tns:{http://developer.intuit.com/}authenticateResponse"/>
    </operation>
    <operation name="clientVersion" parameterOrder="clientVersion">
    <documentation/>
    <input name="clientVersion" message="tns:clientVersion"/>
    <output name="clientVersionResponse" message="tns:clientVersionResponse"/>
    </operation>
    <operation name="closeConnection" parameterOrder="closeConnection">
    <documentation/>
    <input name="closeConnection" message="tns:closeConnection"/>
    <output name="closeConnectionResponse" message="tns:closeConnectionResponse"/>
    </operation>
    <operation name="connectionError" parameterOrder="connectionError">
    <documentation/>
    <input name="connectionError" message="tns:connectionError"/>
    <output name="connectionErrorResponse" message="tns:connectionErrorResponse"/>
    </operation>
    <operation name="getLastError" parameterOrder="getLastError">
    <documentation/>
    <input name="getLastError" message="tns:getLastError"/>
    <output name="getLastErrorResponse" message="tns:getLastErrorResponse"/>
    </operation>
    <operation name="interactiveDone" parameterOrder="interactiveDone">
    <documentation/>
    <input name="interactiveDone" message="tns:interactiveDone"/>
    <output name="interactiveDoneResponse" message="tns:interactiveDoneResponse"/>
    </operation>
    <operation name="interactiveRejected" parameterOrder="interactiveRejected">
    <documentation/>
    <input name="interactiveRejected" message="tns:interactiveRejected"/>
    <output name="interactiveRejectedResponse" message="tns:interactiveRejectedResponse"/>
    </operation>
    <operation name="interactiveUrl" parameterOrder="interactiveUrl">
    <documentation/>
    <input name="interactiveUrl" message="tns:interactiveUrl"/>
    <output name="interactiveUrlResponse" message="tns:interactiveUrlResponse"/>
    </operation>
    <operation name="receiveResponseXML" parameterOrder="receiveResponseXML">
    <documentation/>
    <input name="receiveResponseXML" message="tns:receiveResponseXML"/>
    <output name="{http://developer.intuit.com/}receiveResponseXMLResponse" message="tns:{http://developer.intuit.com/}receiveResponseXMLResponse"/>
    </operation>
    <operation name="sendRequestXML" parameterOrder="sendRequestXML">
    <documentation/>
    <input name="sendRequestXML" message="tns:sendRequestXML"/>
    <output name="{http://developer.intuit.com/}sendRequestXMLResponse" message="tns:{http://developer.intuit.com/}sendRequestXMLResponse"/>
    </operation>
    <operation name="serverVersion" parameterOrder="serverVersion">
    <documentation/>
    <input name="serverVersion" message="tns:serverVersion"/>
    <output name="serverVersionResponse" message="tns:serverVersionResponse"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="QuickBooksService">
    <plnk:role name="QuickBooksService">
    <plnk:portType name="tns:QuickBooksService"/>
    </plnk:role>
    </plnk:partnerLinkType>
    <binding name="QuickBooksService" type="tns:QuickBooksService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="authenticate">
    <soap:operation soapAction="authenticate" style="document"/>
    <input name="authenticate">
    <soap:body use="literal"/>
    </input>
    <output name="{http://developer.intuit.com/}authenticateResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="clientVersion">
    <soap:operation soapAction="clientVersion" style="document"/>
    <input name="clientVersion">
    <soap:body use="literal"/>
    </input>
    <output name="clientVersionResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="closeConnection">
    <soap:operation soapAction="closeConnection" style="document"/>
    <input name="closeConnection">
    <soap:body use="literal"/>
    </input>
    <output name="closeConnectionResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="connectionError">
    <soap:operation soapAction="connectionError" style="document"/>
    <input name="connectionError">
    <soap:body use="literal"/>
    </input>
    <output name="connectionErrorResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="getLastError">
    <soap:operation soapAction="getLastError" style="document"/>
    <input name="getLastError">
    <soap:body use="literal"/>
    </input>
    <output name="getLastErrorResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="interactiveDone">
    <soap:operation soapAction="interactiveDone" style="document"/>
    <input name="interactiveDone">
    <soap:body use="literal"/>
    </input>
    <output name="interactiveDoneResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="interactiveRejected">
    <soap:operation soapAction="interactiveRejected" style="document"/>
    <input name="interactiveRejected">
    <soap:body use="literal"/>
    </input>
    <output name="interactiveRejectedResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="interactiveUrl">
    <soap:operation soapAction="interactiveUrl" style="document"/>
    <input name="interactiveUrl">
    <soap:body use="literal"/>
    </input>
    <output name="interactiveUrlResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="receiveResponseXML">
    <soap:operation soapAction="receiveResponseXML" style="document"/>
    <input name="receiveResponseXML">
    <soap:body use="literal"/>
    </input>
    <output name="{http://developer.intuit.com/}receiveResponseXMLResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="sendRequestXML">
    <soap:operation soapAction="sendRequestXML" style="document"/>
    <input name="sendRequestXML">
    <soap:body use="literal"/>
    </input>
    <output name="{http://developer.intuit.com/}sendRequestXMLResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="serverVersion">
    <soap:operation soapAction="serverVersion" style="document"/>
    <input name="serverVersion">
    <soap:body use="literal"/>
    </input>
    <output name="serverVersionResponse">
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="QuickBooksService">
    <port name="QuickBooksService" binding="tns:QuickBooksService">
    <soap:address location="http://localhost:8000/qwc/hello_world/service"/>
    </port>
    </service>
    </definitions>
    

1 个答案:

答案 0 :(得分:0)

看起来您的Web服务器正在关闭连接,不应该是:

  

基础连接已关闭:发生意外错误   收到。

您确定您的SOAP服务确实有效,并且您的Web服务器没有崩溃,抛出错误或无缘无故地关闭连接吗?

我想知道的另一件事 - 你有Web Connector指向你的WSDL。它不应该被指向实际的Web服务,而不是WSDL定义吗?

AppURL: http://test:8000/qwc/qwcintegration/service.wsdl