Quantcast
Channel: SCN : All Content - PowerBuilder Developer Center
Viewing all articles
Browse latest Browse all 2935

Error consuming Web Service in PB 12.0

$
0
0

I was trying to implement the following code found in SyBooks Online (Archive)

 

SoapConnection conn // Define SoapConnection

syb_currencyexchangeport proxy_obj // Declare proxy

long rVal, lLog

real amount

 

//Define endpoint. You can omit it, if you want to use

//the default endpoint inside proxystring str_endpoint

 

str_endpoint = "http://services.xmethods.net:80/soap"

conn = create SoapConnection  //Instantiated connection

 

lLog = conn.SetOptions("SoapLog=~"C:\mySoapLog.log~"")

 

// Set trace file to record soap interchange data,

// if string is "", disables the feature

 

rVal = Conn.CreateInstance(proxy_obj, &

   "syb_currencyexchangeport", str_endpoint)

 

// Create proxy object

try

 

   amount = proxy_obj.getrate("us","japan")

   // Invoke service

   messagebox("Current Exchange Rate", "One US Dollar"&

   + " is equal to " + string(amount) + " Japanese Yen")

catch ( SoapException e )

   messagebox ("Error", "Cannot invoke Web service")  

    // error handling  

end try

destroy conn

 

I tweaked it a little bit, but essentially it's the same code. Here's my code:

 

SoapConnection conn // Define SoapConnection

stockquotesoap proxy_obj // Declare proxy

long rVal, lLog

string sQuote

 

 

//Define endpoint. You can omit it, if you want to use

//the default endpoint inside proxystring str_endpoint

 

 

//str_endpoint = "http://services.xmethods.net:80/soap"

conn = create SoapConnection  //Instantiated connection

 

 

lLog = conn.SetOptions("SoapLog=~"C:\TmpWebService\mySoapLog.log~"")

 

 

// Set trace file to record soap interchange data,

// if string is "", disables the feature

 

 

rVal = Conn.CreateInstance(proxy_obj, "stockquotesoap")

 

 

if rVal = 0 then

 

  // Create proxy object

  try

 

  sQuote = proxy_obj.getquote(sle_symbol.text)

  // Invoke service

  messagebox("Symbol Quote", sQuote)

  catch ( SoapException e )

  messagebox ("Error", e.text)  

  // error handling  

  end try

else

  messagebox ("Error", "rVal: " + string(rVal))

end if

destroy conn

 

Here's the WSDL I used to create the proxy object:

 

<wsdl:definitions 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="http://www.webserviceX.NET/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.webserviceX.NET/">

<wsdl:types>

<s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/">

<s:element name="GetQuote">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string"/>

</s:sequence>

</s:complexType>

</s:element>

<s:element name="GetQuoteResponse">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="GetQuoteResult" type="s:string"/>

</s:sequence>

</s:complexType>

</s:element>

<s:element name="string" nillable="true" type="s:string"/>

</s:schema>

</wsdl:types>

<wsdl:message name="GetQuoteSoapIn">

<wsdl:part name="parameters" element="tns:GetQuote"/>

</wsdl:message>

<wsdl:message name="GetQuoteSoapOut">

<wsdl:part name="parameters" element="tns:GetQuoteResponse"/>

</wsdl:message>

<wsdl:message name="GetQuoteHttpGetIn">

<wsdl:part name="symbol" type="s:string"/>

</wsdl:message>

<wsdl:message name="GetQuoteHttpGetOut">

<wsdl:part name="Body" element="tns:string"/>

</wsdl:message>

<wsdl:message name="GetQuoteHttpPostIn">

<wsdl:part name="symbol" type="s:string"/>

</wsdl:message>

<wsdl:message name="GetQuoteHttpPostOut">

<wsdl:part name="Body" element="tns:string"/>

</wsdl:message>

<wsdl:portType name="StockQuoteSoap">

<wsdl:operation name="GetQuote">

<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation>

<wsdl:input message="tns:GetQuoteSoapIn"/>

<wsdl:output message="tns:GetQuoteSoapOut"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:portType name="StockQuoteHttpGet">

<wsdl:operation name="GetQuote">

<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation>

<wsdl:input message="tns:GetQuoteHttpGetIn"/>

<wsdl:output message="tns:GetQuoteHttpGetOut"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:portType name="StockQuoteHttpPost">

<wsdl:operation name="GetQuote">

<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation>

<wsdl:input message="tns:GetQuoteHttpPostIn"/>

<wsdl:output message="tns:GetQuoteHttpPostOut"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="StockQuoteSoap" type="tns:StockQuoteSoap">

<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="GetQuote">

<soap:operation soapAction="http://www.webserviceX.NET/GetQuote" 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="StockQuoteSoap12" type="tns:StockQuoteSoap">

<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="GetQuote">

<soap12:operation soapAction="http://www.webserviceX.NET/GetQuote" style="document"/>

<wsdl:input>

<soap12:body use="literal"/>

</wsdl:input>

<wsdl:output>

<soap12:body use="literal"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:binding name="StockQuoteHttpGet" type="tns:StockQuoteHttpGet">

<http:binding verb="GET"/>

<wsdl:operation name="GetQuote">

<http:operation location="/GetQuote"/>

<wsdl:input>

<http:urlEncoded/>

</wsdl:input>

<wsdl:output>

<mime:mimeXml part="Body"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:binding name="StockQuoteHttpPost" type="tns:StockQuoteHttpPost">

<http:binding verb="POST"/>

<wsdl:operation name="GetQuote">

<http:operation location="/GetQuote"/>

<wsdl:input>

<mime:content type="application/x-www-form-urlencoded"/>

</wsdl:input>

<wsdl:output>

<mime:mimeXml part="Body"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="StockQuote">

<wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">

<soap:address location="http://www.webservicex.net/stockquote.asmx"/>

</wsdl:port>

<wsdl:port name="StockQuoteSoap12" binding="tns:StockQuoteSoap12">

<soap12:address location="http://www.webservicex.net/stockquote.asmx"/>

</wsdl:port>

<wsdl:port name="StockQuoteHttpGet" binding="tns:StockQuoteHttpGet">

<http:address location="http://www.webservicex.net/stockquote.asmx"/>

</wsdl:port>

<wsdl:port name="StockQuoteHttpPost" binding="tns:StockQuoteHttpPost">

<http:address location="http://www.webservicex.net/stockquote.asmx"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

 

The problem is I'm getting an error message: Couldn't read response.

 

Can anybody help me?

 

I'm working on:

Windows 7 Enterprise Service Pack 1

Powerbuilder 12.0 Build 5530

 

 

Thanks!


Viewing all articles
Browse latest Browse all 2935

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>