ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Web service question

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Web service question

    I have a complex web service question that has me stumped. Any help would be greatly appreciated.

    We have data on the AS/400 that I need to consume in a Lotus Notes web service (R7). The web service sits on an IIS server and is produced by Visual Age 08. I can consume this web service from WDSC or from the 400, but I am having trouble in LN (I have been in the LN forums for days looking for a solution).

    The WSDL is here:



    I have tried using Msxml2 and WINHTTP.

    My example using Msxml2 is this:

    username = "<USERNAME>"
    password = "<PASSWORD>"
    Set uidoc = workspace.CurrentDocument
    SOAPServer= "http://10.37.1.29/ws_DataAccess/Service.asmx?WSDL"

    Set xmlhttp = CreateObject("Msxml2.XMLHTTP.3.0")
    Set XMLDOM = CreateObject("MSXML2.DOMDocument.3.0")

    MySoap = {<?xml version="1.0" encoding="utf-8"?>}
    MySoap = MySoap & {<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">}
    MySoap = Mysoap & {<soap:Body>}
    MySoap = Mysoap & {<doSQLStatement xmlns="http://10.37.1.29/">}
    MySoap = Mysoap & {<ServerType>iDB2</ServerType>}
    MySoap = Mysoap & {<Server>SR</Server>}
    MySoap = Mysoap & {<Database>SR</Database>}
    MySoap = Mysoap & {<UserID>remote</UserID>}
    MySoap = Mysoap & {<Password>remote</Password>}
    MySoap = Mysoap & {<SQLStatement>Select * from ESSIF.FLDMST</SQLStatement>}
    MySoap = Mysoap & {</doSQLStatement>}
    MySoap = Mysoap & {</soap:Body>}
    MySoap = Mysoap & {</soap:Envelope>}
    XMLDOM.loadXML (MySoap)

    Call uidoc.FieldSetText("SOAP",MySoap)

    Call xmlhttp.open("POST", SoapServer, False,userName,password)
    Call xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8")
    Call xmlhttp.setRequestHeader("Content-Length", Len(MySoap))
    Call xmlhttp.setRequestHeader("UserName", userName)
    Call xmlhttp.setRequestHeader("Password", passWord)
    Call xmlhttp.setRequestHeader("SOAPAction","http://10.37.1.29/doSQLStatement" )
    Call xmlhttp.send((XMLDOM.xml))

    The result I get back says that the "connection string property is invalid." Full text below.

    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap: Server</faultcode><faultstring>Server was unable to process request. ---&gt; The ConnectionString property is invalid.</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope>

    I have googled for 2 days and can't figure out what connection string I need or what to change. Evidence of what the problem could be include:

    The WSDL cannot be imported into LN 8.5 - an error is thrown.

    The WSDL can be imported into WDSC (and the web service consumed) but the following error is thrown:

    IWAB0380E Errors were encountered while validating XML schemas.
    XSD: Element reference 'http://www.w3.org/2001/XMLSchema#schema' is unresolved
    IWAB0381I http://USDSO-WEZEN-TST/ws_dataaccess/Service.asmx?WSDL was successfully opened.

    Any assistance would be greatly appreciated.
Working...
X