Web service reference - request error

Hi all,
I have created a webservice reference to a webservice (drived by tomcat7 and axis2) of our system. Somehow the request Apex makes for the requests in this webservice, aren't correct. (Apex version 4.1.1, on Oracle 10.2.0.3 DB)
In the webservice there are a lot of operations. Below is a snippet of the WSDL, with two operations: test_functie and testconnection. The first operation just checks if the webservice is working, the second one checks the connection to the database.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://zeno.socho.nl" xmlns:ns="http://zeno.socho.nl" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax21="http://zeno.socho.nl/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:documentation>
    Please Type your service description here
  </wsdl:documentation>
  <wsdl:types>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://zeno.socho.nl" xmlns:ax22="http://zeno.socho.nl/xsd">
      <xs:import namespace="http://zeno.socho.nl/xsd"/>
      <xs:element name="test_functie">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="text" nillable="true" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="test_functieResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="testConnection">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="requestTag" nillable="true" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="testConnectionResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="return" nillable="true" type="ax22:Result"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="test_functieResponse">
    <wsdl:part name="parameters" element="ns:test_functieResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="testConnectionResponse">
    <wsdl:part name="parameters" element="ns:testConnectionResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="test_functieRequest">
    <wsdl:part name="parameters" element="ns:test_functie">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="testConnectionRequest">
    <wsdl:part name="parameters" element="ns:testConnection">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="WebApiV2PortType">
    <wsdl:operation name="testConnection">
      <wsdl:input message="ns:testConnectionRequest" wsaw:Action="urn:testConnection">
    </wsdl:input>
      <wsdl:output message="ns:testConnectionResponse" wsaw:Action="urn:testConnectionResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="test_functie">
      <wsdl:input message="ns:test_functieRequest" wsaw:Action="urn:test_functie">
    </wsdl:input>
      <wsdl:output message="ns:test_functieResponse" wsaw:Action="urn:test_functieResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="WebApiV2Soap11Binding" type="ns:WebApiV2PortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="testConnection">
      <soap:operation soapAction="http://zeno.socho.nl/testConnection"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="test_functie">
      <soap:operation soapAction="http://zeno.socho.nl/test_functie"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="WebApiV2">
    <wsdl:port name="WebApiV2HttpSoap11Endpoint" binding="ns:WebApiV2Soap11Binding">
      <soap:address location="http://yyy.socho.internal:8080/axis2/services/WebApiV2/"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>When I perform a test of the testconnection operation, apex makes this request:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SOAP-ENV:Body>
    <ns1:testConnection xmlns:ns1="http://zeno.socho.nl">
    <!-- No namespace! -->
    <requestTag>test</requestTag>
    </ns1:testConnection>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>the response is as follows:
<?xml version='1.0' encoding='UTF-8'?>
  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
    <soapenv:Fault>
      <faultcode>soapenv:Server</faultcode>
      <faultstring>org.apache.axis2.databinding.ADBException: Unexpected subelement requestTag</faultstring>
      <detail />
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>When I use SoapUI to invoke the same operation, then the request is:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:zeno="http://zeno.socho.nl">
   <soapenv:Header/>
   <soapenv:Body>
      <zeno:testConnection>
         <!-- SoapUI does provide a namespace! -->
         <zeno:requestTag>test</zeno:requestTag>
      </zeno:testConnection>
   </soapenv:Body>
</soapenv:Envelope>and the response is:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns:testConnectionResponse xmlns:ns="http://zeno.socho.nl">
         <ax21:return xsi:type="ax21:Result" xmlns:ax21="http://zeno.socho.nl/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ax21:errorNo>0</ax21:errorNo>
            <ax21:errorTxt>OK</ax21:errorTxt>
            <ax21:requestTag>?</ax21:requestTag>
         </ax21:return>
      </ns:testConnectionResponse>
   </soapenv:Body>
</soapenv:Envelope>Does Apex interprete my wdsl incorrect? Seems like the namespace is missing in the request from Apex!

Over the last couple of days, I did some debugging, trying to find the cause for this problem. This is what I've found:
in WSDL documents, on the schema node in the wsdl:types branch, there's an element elementFormDefault that states if the schema uses qualified or unqualified namespaces. qualified means that every child node must have a namespace. When it's unqualified, only the root element has to have a namespace, the child nodes don't require one.
It seems that Apex stores this in the table WWV_FLOW_WS_PARAMETERS, in the field FORM_QUALIFIED. All the rows in that table for my webservice has a value of 'N' for FORM_QUALIFIED, that's why Apex doesn't add a namespace to the child element.
I did some testing and it seems that Apex can't handle WSDL documents with *2* schema brances in the wsdl:types branch. our WSDL has that. I got a simplified version of the WSDL (that lacks some features) that only has one schema branch in the wsdl:types branch; then the 'FORM_QUALIFIED' columns is properly filled with a Y. When I manually update the WWV_FLOW_WS_PARAMETERS table and change the N in an Y in the FORM_QUALIFIED for my WSDL, the requests are properly generated!
Of course I don't want to manually update the Apex repository and want to work towards a proper solution. It seems like a bug though in the Apex WSDL parsing. What is the proper way to file a bug request to the valuable Apex developers for this?

Similar Messages

  • ODI Invoke Web Service XML Request error.

    hi,
    i want to invoke a web service from ODI 10g.
    i use OdıInvokeWebService in package.
    in General tab. I wrote the parameters values. when i execute package
    it gives error;
    com.sunopsis.wsinvocation.SnpsWSInvocationException: Part does not exist:Header
         at com.sunopsis.wsinvocation.client.a.d.a(d.java)
         at com.sunopsis.wsinvocation.client.a.d.a(d.java)
         at com.sunopsis.wsinvocation.client.a.d.b(d.java)
         at com.sunopsis.wsinvocation.client.a.c.a(c.java)
         at com.sunopsis.wsinvocation.client.a.c.getWebServiceRequestByOperation(c.java)
         at com.sunopsis.dwg.tools.InvokeWebService.actionExecute(InvokeWebService.java)
         at com.sunopsis.dwg.function.SnpsFunctionBase.execute(SnpsFunctionBase.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.k(e.java)
         at com.sunopsis.dwg.cmd.g.A(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    when i invoke from advanced button web service retrieve data.
    and XML Request parameter is wrong. what is wrong about XML request?
    i copied XML Request value from SoapUI.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:db="DB_SUBS_BUDGET">
    <soapenv:Header>
    <db:QaaWSHeader>
    <!--Optional:-->
    <db:sessionID xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    <!--Optional:-->
    <db:serializedSession xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </db:QaaWSHeader>
    </soapenv:Header>
    <soapenv:Body>
    <db:runQueryAsAService>
    <db:login>DWH_BO</db:login>
    <db:password>Pass1234</db:password>
    </db:runQueryAsAService>
    </soapenv:Body>
    </soapenv:Envelope>
    thanks

    hi again,
    i solved "Part does not exist:Header" error
    i changed xml request
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:db="DB_SUBS_BUDGET">
    <db:QaaWSHeader/>
    <db:runQueryAsAService>
    <db:login>DWH_BO</db:login>
    <db:password>Avea1234</db:password>
    </db:runQueryAsAService>
    </soapenv:Envelope>
    now a new error occures;
    how can i pass this error?.
    java.lang.Exception: org.apache.crimson.tree.XmlDocument.getXmlStandalone()Z
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.k(e.java)
         at com.sunopsis.dwg.cmd.g.A(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    thanks

  • Error when test a web service reference

    Hello,
    After creating a web service reference and when i make a test of any method, i get the fowling error:
    <?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; Object reference not set to an instance of an object.</faultstring><detail /></soap:Fault></soap:Body>
    </soap:Envelope>
    This is the WSDL definition:
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="urn:webservices.x-arq.mind.pt/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="urn:webservices.x-arq.mind.pt/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="urn:webservices.x-arq.mind.pt/">
    <s:import namespace="urn:webservices.x-arq.mind.pt/ResultadosPesquisa.xsd" />
    <s:import schemaLocation="http://arquivomunicipal.cm-lisboa.pt/X-arqCRMWebService/XarqCRMWebService.asmx?schema=ResultadosPesquisa" namespace="urn:webservices.x-arq.mind.pt/ResultadosPesquisa.xsd" />
    <s:element name="ObterNumeroResultados">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Obra" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Processo" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Morada" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterNumeroResultadosResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="ObterNumeroResultadosResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosEmObjecto">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Obra" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Processo" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Morada" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosEmObjectoResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ObterResultadosEmObjectoResult" type="tns:ArrayOfResultadoPesquisa" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:complexType name="ArrayOfResultadoPesquisa">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="ResultadoPesquisa" nillable="true" type="tns:ResultadoPesquisa" />
    </s:sequence>
    </s:complexType>
    <s:complexType name="ResultadoPesquisa">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Obra" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Processo" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Morada" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="ContemFicheirosDigitalizados" type="s:boolean" />
    <s:element minOccurs="0" maxOccurs="1" name="UrlFicheirosDigitalizados" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="EstadoCiarq" type="s:string" />
    </s:sequence>
    </s:complexType>
    <s:element name="ObterResultados">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Obra" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Processo" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Morada" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ObterResultadosResult">
    <s:complexType>
    <s:sequence>
    <s:any namespace="urn:webservices.x-arq.mind.pt/ResultadosPesquisa.xsd" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosPaginadosEmObjecto">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Obra" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Processo" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Morada" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="NumeroResultados" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="IndicePrimeiroResultadoDevolver" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosPaginadosEmObjectoResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ObterResultadosPaginadosEmObjectoResult" type="tns:ArrayOfResultadoPesquisa" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosPaginados">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Obra" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Processo" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Morada" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="NumeroResultados" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="IndicePrimeiroResultadoDevolver" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ObterResultadosPaginadosResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ObterResultadosPaginadosResult">
    <s:complexType>
    <s:sequence>
    <s:any namespace="urn:webservices.x-arq.mind.pt/ResultadosPesquisa.xsd" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="ObterNumeroResultadosSoapIn">
    <wsdl:part name="parameters" element="tns:ObterNumeroResultados" />
    </wsdl:message>
    <wsdl:message name="ObterNumeroResultadosSoapOut">
    <wsdl:part name="parameters" element="tns:ObterNumeroResultadosResponse" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosEmObjectoSoapIn">
    <wsdl:part name="parameters" element="tns:ObterResultadosEmObjecto" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosEmObjectoSoapOut">
    <wsdl:part name="parameters" element="tns:ObterResultadosEmObjectoResponse" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosSoapIn">
    <wsdl:part name="parameters" element="tns:ObterResultados" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosSoapOut">
    <wsdl:part name="parameters" element="tns:ObterResultadosResponse" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosPaginadosEmObjectoSoapIn">
    <wsdl:part name="parameters" element="tns:ObterResultadosPaginadosEmObjecto" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosPaginadosEmObjectoSoapOut">
    <wsdl:part name="parameters" element="tns:ObterResultadosPaginadosEmObjectoResponse" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosPaginadosSoapIn">
    <wsdl:part name="parameters" element="tns:ObterResultadosPaginados" />
    </wsdl:message>
    <wsdl:message name="ObterResultadosPaginadosSoapOut">
    <wsdl:part name="parameters" element="tns:ObterResultadosPaginadosResponse" />
    </wsdl:message>
    <wsdl:portType name="XarqCRMWebServiceSoap">
    <wsdl:operation name="ObterNumeroResultados">
    <wsdl:input message="tns:ObterNumeroResultadosSoapIn" />
    <wsdl:output message="tns:ObterNumeroResultadosSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosEmObjecto">
    <wsdl:input message="tns:ObterResultadosEmObjectoSoapIn" />
    <wsdl:output message="tns:ObterResultadosEmObjectoSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ObterResultados">
    <wsdl:input message="tns:ObterResultadosSoapIn" />
    <wsdl:output message="tns:ObterResultadosSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosPaginadosEmObjecto">
    <wsdl:input message="tns:ObterResultadosPaginadosEmObjectoSoapIn" />
    <wsdl:output message="tns:ObterResultadosPaginadosEmObjectoSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosPaginados">
    <wsdl:input message="tns:ObterResultadosPaginadosSoapIn" />
    <wsdl:output message="tns:ObterResultadosPaginadosSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="XarqCRMWebServiceSoap" type="tns:XarqCRMWebServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="ObterNumeroResultados">
    <soap:operation soapAction="urn:webservices.x-arq.mind.pt/ObterNumeroResultados" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosEmObjecto">
    <soap:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultadosEmObjecto" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultados">
    <soap:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultados" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosPaginadosEmObjecto">
    <soap:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultadosPaginadosEmObjecto" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosPaginados">
    <soap:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultadosPaginados" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="XarqCRMWebServiceSoap12" type="tns:XarqCRMWebServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="ObterNumeroResultados">
    <soap12:operation soapAction="urn:webservices.x-arq.mind.pt/ObterNumeroResultados" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosEmObjecto">
    <soap12:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultadosEmObjecto" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultados">
    <soap12:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultados" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosPaginadosEmObjecto">
    <soap12:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultadosPaginadosEmObjecto" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ObterResultadosPaginados">
    <soap12:operation soapAction="urn:webservices.x-arq.mind.pt/ObterResultadosPaginados" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="XarqCRMWebService">
    <wsdl:port name="XarqCRMWebServiceSoap" binding="tns:XarqCRMWebServiceSoap">
    <soap:address location="http://arquivomunicipal.cm-lisboa.pt/X-arqCRMWebService/XarqCRMWebService.asmx" />
    </wsdl:port>
    <wsdl:port name="XarqCRMWebServiceSoap12" binding="tns:XarqCRMWebServiceSoap12">
    <soap12:address location="http://arquivomunicipal.cm-lisboa.pt/X-arqCRMWebService/XarqCRMWebService.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    Thanks for your help!
    From Portugal,
    Helder Dinis
    Edited by: Helder Dinis on Oct 22, 2009 5:52 PM

    Hello,
    First, I would like to thank you for your help.
    Below is the SOAP envelope (request) that was created by the Application Express engine based on the Web service reference definition.
    Input parameters:
    Obra: 35078
    Processo: 2073/DCEOD/I/1960
    Morada: BECO BUGIO
    <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Body><ns1:ObterResultadosEmObjecto xmlns:ns1="urn:webservices.x-arq.mind.pt/urn:webservices.x-arq.mind.pt/ResultadosPesquisa.xsd"><ns1:Obra>35078</ns1:Obra><ns1:Processo>2073/DCEOD/I/1960</ns1:Processo><ns1:Morada>BECO BUGIO</ns1:Morada></ns1:ObterResultadosEmObjecto></SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    From Portugal,
    Helder Dinis

  • Error while creating web service reference

    Hi,
    I have very limited knowledge of web services. we have a BPEL implementation and I have been handed location to 3 wsdl files for which I am trying to create a web service reference(under shared component->logic) in apex(3.1.1). I am successfully able to create for 1 wsdl but for other two i get the below error.
    "1 error has occurred
    The WSDL document contains multiple SOAP bindings. Application Express only supports WSDL's with one SOAP binding. Click Create Web Service Reference Manually to continue creating a reference for this service."
    looking at the working and not working wsdls, i see the following difference. i collapsed all the xml tags in the wsdl file and found that the one that is not working and giving above error has the below two tags twice with data in it.
    <wsdl:portType name=
    <wsdl:binding name=
    any help to parse this wsdl in APEX be greatly appreciated.
    thanks,
    khan

    I have just read that " APEX does not support multiple binding web services currently" at http://oraclebizint.wordpress.com/category/apex/
    ..still reading it. though the post is dated back in 2008, I wonder why this functionality wasn't added to Apex.

  • Error creating web service reference

    I am getting an error below when creating a web service reference from apex 4.2. Any idea on how to resolve it.
    •The WSDL document could not be understood by the rendering engine. Click Create Web Service Reference Manually to continue creating a reference for this service

    I have just read that " APEX does not support multiple binding web services currently" at http://oraclebizint.wordpress.com/category/apex/
    ..still reading it. though the post is dated back in 2008, I wonder why this functionality wasn't added to Apex.

  • Substitution strings not working in URLs for web service references (bug?)

    We have an environment where the url for our BPEL server is read from a variable. I've created an application item and a corresponding application-level computation. I'm using the ampersand-followed-by-dot (&BPEL_SERVER.) syntax as well as the hashmark syntax (#BPEL_SERVER#) and am unable to get this working.
    Is there a way for me to debug web service reference calls other than whether a call was successful? Is this a bug?
    edit:
    Here is the error message I get when I try to use a substitution:
    ORA-20001: The webservice was unreachable because either the URL you supplied was invalid, your environment requires a valid proxy server address for HTTP requests, or a wallet needs to be configured for HTTPS requests.

    No problem - let me try to lay this out a little differently, perhaps I'm just missing something.
    problem:
    * we have separate development, test, and production servers for our database and bpel servers.
    * The hostnames for these servers are stored in a table of key/value pairs
    * This means that (by policy) the hostnames in URLs calling BPEL web services should be the value corresponding to BPEL_SERVER so that the appropriate bpel server is used to call the web service
    attempted solution:
    1) I created an application item named BPEL_SERVER
    2) I have a before-header computation that sets BPEL_SERVER to 'http://bpeldev' using a static value assignment
    3) I have a web service reference whose URL is either &BPEL_SERVER./orabpel/default/callNotification/1.0 or #BPEL_SERVER#/orabpel/default/callNotification/1.0
    4) The web service reference is called in an after-submit process.
    5) An invalid URL exception is thrown for this process.when submitting on the page containing this process
    observations:
    * for (3) - I can set the URL to http://bpeldev/orabpel/default/callNotification/1.0 and everything occurs successfully
    * for (3) - If I use http://bpeldev/&BPEL_SERVER. then when I execute (4), I see a request for the exact string http://bpeldev/&BPEL_SERVER. in bpeldev's access logs
    * for (3) - If I use http://bpeldev/#BPEL_SERVER# then when I execute (4), I see a request for the exact string http://bpeldev/#BPEL_SERVER# in bpeldev's access logs
    * for (2) I've also used a function call RETURN get_const_value('BPEL_SERVER'); - same results for (5)
    * the item value has ben verified before (5)
    * for (1) and (2) I've tried defining substitution strings in the application definition instead - same results for (5)

  • REST Web Service References: Can't run Google APIS

    Hello Everyone!
    I am learning on how to integrate REST web service reference in APEX application. I found a tutorial video at YouTube on 'Creating and Using a RESTful Web Service in Application Express 4.2', which found to be very helpful and easy to do on my sample app. The REST Web Service URL:
    http://maps.googleapis.com/maps/api/geocode/xml?address=san%20fancisco&sensor=false
    But my application throws an error as below:
    1 error has occurred
    ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-24247: network access denied by access control list (ACL)
    After going through some of the posts here at OTN, I have granted access as follows:
    GRANT EXECUTE ON SYS.UTL_HTTP TO ETI;
    GRANT EXECUTE ON SYS.UTL_INADDR TO ETI;
    GRANT EXECUTE ON SYS.UTL_TCP TO ETI;
    GRANT EXECUTE ON SYS.UTL_SMTP TO ETI;
    GRANT EXECUTE ON SYS.UTL_URL to ETI;
    GRANT EXECUTE ON SYS.UTL_XML to ETI;
    Second thing I did was, created and assigned ACL:
    begin
      dbms_network_acl_admin.create_acl (
        acl         => 'googleapis.xml',
        description => 'Google Translate API',
        principal   => 'CONNECT',
        is_grant    => true,
        privilege   => 'connect',
        start_date  => null,
        end_date    => null
      dbms_network_acl_admin.add_privilege (
        acl       => 'googleapis.xml',
        principal => 'CONNECT',
        is_grant  => true,
        privilege => 'connect'
      dbms_network_acl_admin.assign_acl (
        acl  => 'googleapis.xml',
        host => 'ajax.googleapis.com'
      dbms_network_acl_admin.assign_acl (
        acl  => 'googleapis.xml',
        host => 'maps.googleapis.com'
    end;
    All these statements were executed on my database with out any error, even though not helping my web service reference to work.
    Any idea how can I get my Google API REST Web service working, what is the thing I'm missing here?

    I apologize for the lack of information.
    I thought I had included a list of schemas for you to try out.
    At first, (due to the GRANT ___ TO ETI;) I thought you were writing your own Web Service parser in PL/SQL.
    (If that was the case, than ETI would need be part with the ACL)
    Then, I realized,you were using the built in APEX functionality.
    In this case, try adding your APEX_{version} schema as part of the ACL.
    I'm not sure if this will work (I haven't tried it).
    However, I do know you need to add the APEX_{version} to the ACL if you use the LDAP Authentication.
    finding APEX_{version}
    select comp_id, version, status, schema
    from dba_registry
    where comp_id='APEX'
    MK

  • Basic auth with RESTful WEb service and Web Service reference

    Hi, All,
    We have made much progress on getting an application working wtih RESTful web services but now are trying to figure out how to lock down a RESTful Web service while making it available for a particular application.
    We are using one of the sample 'emp' table web services that come with Apex 4.2 and are trying to apply Basic Auth to the WEb Service via Weblogic filter defined in the web.xml file. That works fine. I now get challenged when I try to go to :
    https://wlogic.edu/apex/bnr/ace/hr/empinfo/
    And when I authenticate to that challenge I am able to get the data. (we are usiing LDAP authentication at the Weblogic level)
    However, I am not sure how to get same basic authentication to work with the Web Service reference in my application. I see the error message in the application when I try to call that Web Service:
    401--Unauthorized<
    And I see:
    "The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials"
    How do I provide the credentials in the Web REference or do I provide credentials in the Application?
    Web service works fine if I remove the RESTful web service basic auth from the Web.xml file.
    Should we NOT use Weblogic basic auth and instead use basic auth from Workspace RESTful web service definition. If so, how do we implement THAT basic auth in the Web Service definition and in the Web SErvice Reference on the application?
    Thanks,
    Pat

    What I mean is diid you try to use the PL/SQL package for APEX webservice. Here is an example I use (modified and shortened, just to show how much better this is than to use it from the application).
    CREATE OR REPLACE PACKAGE webservice_pkg
    IS
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
    END webservice_pkg;
    CREATE OR REPLACE PACKAGE BODY webservice_pkg
    IS
       PROCEDURE set_credentials (
          p_workspace     IN   VARCHAR2,
          p_app_id        IN   NUMBER,
          p_app_session   IN   VARCHAR2,
          p_app_user      IN   VARCHAR2
       IS
          v_workspace_id   NUMBER;
       BEGIN
          SELECT workspace_id
            INTO v_workspace_id
            FROM apex_workspaces
           WHERE workspace = p_workspace;
          apex_util.set_security_group_id (v_workspace_id);
          apex_application.g_flow_id := p_app_id;
          apex_application.g_instance := p_app_session;
          apex_application.g_user := p_app_user;
       END set_credentials;
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
       IS
          v_envelope          VARCHAR2 (32000);
          v_server            VARCHAR2 (400);
          v_url               VARCHAR2 (4000);
          v_result_url        VARCHAR2 (1000);
          v_collection_name   VARCHAR2 (40)    := 'PDF_CARD';
          v_message           VARCHAR2 (4000);
          v_xmltype001        XMLTYPE;
       BEGIN
          v_url := v_server || '.myserver.net/services/VisitCardCreator?wsdl';
          FOR c IN (SELECT *
                      FROM DUAL)
          LOOP
             v_envelope :=
                   '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '
                || 'xmlns:bran="http://www.myaddress.com">'
                || CHR (10)
                || '<soapenv:Header/><soapenv:Body>'
                || CHR (10)
                || '<parameter:'
                || 'some_value'
                || '>'
                || CHR (10)
                || '<bran:templateID>'
                || p_id
                || '</bran:templateID>'
                || '</soapenv:Body>'
                || CHR (10)
                || '</soapenv:Envelope>';
          END LOOP;
          set_credentials (p_workspace, p_app_id, p_app_session, p_app_user);
          BEGIN
             apex_web_service.make_request
                                         (p_url                  => v_url,
                                          p_collection_name      => v_collection_name,
                                          p_envelope             => v_envelope
             p_message := 'Some message.';
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message :=
                      v_message
                   || '</br>'
                   || 'Error running Webservice Request. '
                   || SQLERRM;
          END;
          BEGIN
             SELECT    v_result_url
                    || EXTRACTVALUE (VALUE (t),
                                     '/*/' || 'Return',
                                     'xmlns="http://www.myaddress.com"'
                    xmltype001
               INTO v_result_url,
                    v_xmltype001
               FROM wwv_flow_collections c,
                    TABLE
                        (XMLSEQUENCE (EXTRACT (c.xmltype001,
                                               '//' || 'Response',
                                               'xmlns="http://www.myaddress.com"'
                        ) t
              WHERE c.collection_name = v_collection_name;
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message := v_message || '</br>' || 'Error reading Collection.';
          END;
       EXCEPTION
          WHEN OTHERS
          THEN
             p_message := v_message || '</br>' || SQLERRM;
       END create_webservice;
    END webservice_pkg;
    /If you use it this way, you will find out what the problem is much faster.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • Web Service Reference - 'ns1' is an undeclared namespace

    Hi,
    I successfully created a Web Service Reference,
    but when I am trying to test it,
    I am getting an error:
    Server was unable to read request. --&gt; 'ns1' is an undeclared namespace. Line 2, position 20
    What it means and what I must to do ?
    Thanks,
    Vitalijus

    ok,
    i created a wallet and stored in the location sysman/config/monwallet and also emabled auto login within the OWM.
    from sqlplus i tried,
    select utl_http.request('https://www.mywebsite.net/',null, 'file:/data3/app/oracle/product/920/admin/DEVi/wallet', null) from dual;
    and it works ;)
    Now in APEX I am still not able to access the WSDL. because APEX doenot know of this wallet.
    when i try the below in SQLPLUS without wallet
    select utl_http.request('https://www.mywebsite.net/') from dual;
    I get the same error.
    I figured out that setting
    utl_http.set_wallet(path => 'file:/data3/app/oracle/product/920/admin/DEVi/wallet',password => 'welcome');
    will enable to use the utl_http.request without passing the file path for wallet.
    Is there a way i can make the database to utilize a default path for wallet path ?
    APEX has option to input the proxy server name in the "Application Attributes" --> "Definition". Similarly is there a place where i can enter the wallet file path and password ?
    thanks in advance,
    Arun
    Message was edited by:
    user509053

  • Web services references problem:  WSDL document was unretrievable

    I've tried to add a web service reference to my application. I followed the examples given in the user guide, but none of the web services are available. (IBM and Xmethods). I also tried the bookstore application from the studio (http://soap.amazon.com/onca/soap3), it didn't work either.
    Error message:
    "The WSDL document was unretrievable because either the URL you supplied was invalid, or your environment requires a valid proxy server address for HTTP requests and you have not defined one for this application."
    I am wondering perhaps I have to setup in somewhere such as proxy server (I don't use proxy for internet browsing though) to be able to use webservices.
    May somebody with htmldb webservice experiences shed some light on this?
    Thanks in advance.

    Thanks for the information Eric.
    I donot want to use Axis because Axis doesn't allow me to configure XMLBeans for serialization and deserialization. I am using XMLBeans to prepare my response in XML form.
    I am using XSDs to define my input and output XML structure. This way Client applications can use this XSD to build the input XML and to validate the output XML that they get from web service. I also defined WSDL on my own (using some editors)which will make use of these XSDs to
    define request and response. I wrote my own ANT script which will do the same processing as WebServiceAssembler.
    EAR file that is generated by my ANT script is working fine.. I was able to send the request and get the response from webservice.
    Now I have realized that Oracle is NOT doing the input and output validation eventhough I have specified my input and ouput XSD in WSDL. I can send any 'format' of XML input to my webservice and get any 'format' of XML output, which is NOT GOOD. Is there anyway that I can force Oracle to do the input XML and output XML validation ? or it has to be handled by developer?
    Sorry for long mail.
    Thanks for your time, Kiran

  • Issue while adding WCF Web Service reference using Oracle APEX

    Hi,
    We have an issue with creating the Web Service Reference for the WCF web service:
    http://dev.virtualearth.net/webservices/v1/metadata/geocodeservice/GeocodeService1.wsdl
    The APEX gives the following error
    “The WSDL document could not be understood by the rendering engine. Click Create Web Service Reference Manually to continue creating a reference for this service.”
    Can you please tell me if creating the Web Service Reference for WCF is supported on the “out of the box“ APEX?
    Environment information:
    APEX 4.0.2.00.07
    Database 11.2.0.3
    Please note that we have tried it in APEX 4.1.1 from apex.oracle.com and the error there is different, it can connect even to ASMX wsdl.
    Thank you.

    I don't think that is it specific to just .NET web services. I have tried with a web service created with TIBCO BusinessWorks (Middleware product) that did not work either. The wsdl validated correctly in soapUI, so I think it just must be the implementation of the parser which is looking for some specific format.
    When in doubt, go with either the manual reference or with pl/sql using one of the api's.

  • Trouble shooting apex application calling web-service reference

    Hi,
    I am developing an APEX application which calls a web-service reference. i am looking for ideas as to how to log necessary information for trouble shooting.
    i already thought about this -
    1. the response from the web-service is displayed to the user (via a collection object).
    but the issue is i want the administrator (who logs in at a later time) to see that an error occurred or what was the response from the web-service.
    Is there any in-built way of accessing this information (is it first of all stored somewhere automatically ?). the one possible solution i see is to create a table and log the info into this table along with user and session id.
    any ideas / pointers will greatly help me.
    Regards,
    Ramakrishnan

    It looks like you won't be able to test web service calls on apex.oracle.com. see this WebService on apex.oracle.com
    Edited by: tfa on Mar 18, 2013 9:59 AM

  • Creating Web Service Reference

    I have no experience whatsoever with web services/soap/etc.
    I am testing PayPal's Website Payments Pro to see if I can integrate it easily with HTML DB.
    I click on my application, then go to Shared Components --> Web Service Reference --> Create
    I select "No" for "Do you want to search a UDDI registry to find the WSDL?"
    For WSDL Location, I enter:
    http://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
    and click Next.
    1 error has occurred
    The WSDL document could not be understood by the HTML DB engine. I found no references in the forum to either "soap" or "wsdl."
    Is there any documentation on this?
    HTML DB version 1.6, DB 10.1
    Thanks
    chet

    Apparently the search utility was broken the night/morning I posted this. I did find a few posts on others problems with WSDL. One in particular, Misunderstood WSDL file. suggested it might be Oracle's parsing or something like that.
    I have read that there is not a W3C standard yet.
    I really, really don't want to have to write java ever again. Please tell me there is a workaround...
    chet
    Message was edited by:
    Chet Justice
    Message was edited by:
    Chet Justice

  • ORA-06502 when trying to create a web service reference

    Hi,
    I want to create a reference to mail a report from BI Publisher.
    Apparently the e-mail option is no longer available in the v2 webservices so I tried to create a web service reference to:
    .../xmlpserver/services/PublicReportService?wsdl
    I had no problems creating references to the v2 web services however I don't manage to create a reference for this WSDL.
    The last step gives me:
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    Thanks for tips or advice.
    Other workarounds to email a report are welcome as well. I tried to use the v2 webservices runReport & scheduleReport before but they don't seem to support this.
    Thanks!

    Okay, so email is available in the v2 webservices I found out. (despite stated in many blogpost it is not)
    --- ScheduleService
    If you're going to use it to send emails you need to create your webservice manually. Otherwise it will not work as the scheduleReport also can print, fax or save your report to webdav and you will need to remove these elements from you soapenveloppe to get it to work.
    This is not possible with the services created using the WSDL wizard.

  • Web Services and Powershell error: Method can not be reflected

    I'm trying to use the VSM 9.1 Web Service API with Powershell, however when I run the New-WebServiceProxy cmdlet it throws an error, the inner exception being "Method InfraAPI.KnowledgeUpdate can not be reflected.", and as such I'm unable to proceed any further with development.
    Here's the Powershell output:
    PS C:\PS> new-webserviceproxy -uri http://vsmhost/dev/ServiceManager.svc?wsdl
    New-WebServiceProxy : Exception has been thrown by the target of an invocation.
    At line:1 char:20
    + new-webserviceproxy <<<<  -uri http://vsmhost/dev/ServiceManager.svc?wsdl
        + CategoryInfo          : NotSpecified: (:) [New-WebServiceProxy], TargetInvocationException
        + FullyQualifiedErrorId : System.Reflection.TargetInvocationException,Microsoft.PowerShell.Commands.NewWebServiceProxy
    PS C:\PS> $error[0].exception.innerexception
    Method InfraAPI.KnowledgeUpdate can not be reflected.
    Any help with this would be greatly appreciated.

    Hi Chris,
    //-- Please read the following as my personal opinion only as it's based only on my own experience using VSM API. I may be wrong of course. --//
    As far as I remember there was never a good decision to use VSM API through web service reference.
    I had met some problems when referencing VSM services directly through web even using Visual Studio some years ago. Since then I don't use this method.
    Recently I have tried to check VSM API services metadata with some soap tools and it appears that it is not completely WS-I compliant - something wrong with namespaces defining ResultSet elements as type of DataSet. Perhaps this is the reason why VSM web services does not work as expected when referencing them directly. Maybe something else...
    So the solution, workaround actually, (provided by VMware by the way) is to generate InfraAPI class and use it in your project. So far no problems with this method and we are using VSM API quite a lot.
    In any case, it could be really helpful if someone might submit this issue to Alemba to fix it permanently I guess.
    Ok, let's go back to your question about using VSM API with PowerShell. I must admit you have really challenged me. It was not so simple but really interesting.
    The only way I have made PowerShell working is this:
    1. Extract VSM API services class to a file:
    svcutil /t:code /language=c# /messageContract http://vsmhost/dev/ServiceManager.svc /out:InfraAPI.9.2.0.cs /config:InfraAPI.9.2.0.config
    2. Compile the class to dll file:
    csc /t:library /out:InfraAPI.9.2.0.dll InfraAPI.9.2.0.cs
    3. Include and use this library in your ps script like this:
    [System.Reflection.Assembly]::LoadFrom("C:\_DATA\__SM9\PowerShell\API\InfraAPI.9.2.0.dll")
    [System.Reflection.Assembly]::LoadWithPartialName(“System.ServiceModel”)
    $ws_hb = New-Object System.ServiceModel.BasicHttpBinding
    $ws_hb.Name = "BasicHttpBinding_IServiceManager"
    $ws_epa = New-Object System.ServiceModel.EndpointAddress("http://vsmhost/dev/servicemanager.svc")
    $ws = New-Object ServiceManagerClient($ws_hb,$ws_epa)
    $ws_login_in = New-Object LoginRequest("VSM_USER_NAME","VSM_USER_PASSWORD","VSM_DATABASE")
    $ws_login_out = $ws.Login($ws_login_in)
    $ws_login_out.sMessage
    if($ws_login_out.Ret.value__ -eq 0){
        "Session ID: " + $ws_login_out.sID
        $ws_logout_in = New-Object LogoutRequest($ws_login_out.sID)
        $ws.Logout($ws_logout_in).sMessage
    Shoot your questions if you have any. And could you please let me know if this is working in your environment. Tx.
    Regards, Gytis

Maybe you are looking for

  • How to pass parameter as http POST in pageContext.setForwardURL

    Hi, I need to call a third party application page in my custom OAF page. I need to pass parameter to this third party page using POST method. I am using following command to call that - HashMap hm = new HashMap(); hm.put("FirstName",firstName ); hm.p

  • Too many images in a slideshow for iDVD 6?

    I used iDVD 6.0.2 to import an album from iPhoto, add titles/captions and iTunes music, then burn a DVD. There are 295 slides, and the show stops after the 99th slide. I've read that this is a problem with the older versions of iDVD, but I have never

  • Button to show a hidden page?

    Hello, I have been trying to figure this out, but have no had much luck with everything I have found through online and searching.  I have created a form, from scratch in Adobe Livecycle, that has three pages.  I would like the second page to be hidd

  • Aperture 3 will not import image files on hard drives (need bug check).

    For the past several days, I've been encountering an issue where Aperture will not recognize photos on a local hard drive (internal or external) for import, but will recognize the exact same image if it is located on a flash card. In fact, I can drag

  • Constant disk activity; who is doing that?

    Hello there, I pimped my G5 with two new internal drives (WD 1TB Caviar Black) and copied onto them clones of other disks and volumes (with SuperDuper), including my old system. Seems to be quite succesful operation; nearly all works as usual again.