1. Mangutha
  2. PowerBuilder
  3. Tuesday, 28 January 2020 15:35 PM UTC

 please see my attachment for details and suggest.

Using Powerbuilder 2017 R2  Build 1769

Created .Netwebservice

My WSDL (http://ppccchhhh:8089/webservice/GetProviders.asmx?WSDL)

is output is …

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempurl.org" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempurl.org" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"><wsdl:types><s:schema targetNamespace="http://tempurl.org" elementFormDefault="qualified"><s:element name="of_get_providers"><s:complexType><s:sequence><s:element type="tns:ArrayOfS_prv_str" name="al_rows" maxOccurs="1" minOccurs="0"/></s:sequence></s:complexType></s:element><s:complexType name="ArrayOfS_prv_str"><s:sequence><s:element type="tns:s_prv_str" name="s_prv_str" maxOccurs="unbounded" minOccurs="0" nillable="true"/></s:sequence></s:complexType><s:complexType name="s_prv_str"><s:sequence><s:element type="s:string" name="pers_lllll_myid" maxOccurs="1" minOccurs="0"/><s:element type="s:string" name="eeee_myid" maxOccurs="1" minOccurs="0"/><s:element type="s:string" name="eeee_dcd" maxOccurs="1" minOccurs="0"/><s:element type="s:string" name="eeee_txt" maxOccurs="1" minOccurs="0"/><s:element type="s:string" name="provider_myid" maxOccurs="1" minOccurs="0"/><s:element type="s:string" name="hp_practitioner_id" maxOccurs="1" minOccurs="0"/><s:element type="s:string" name="lllll_myid" maxOccurs="1" minOccurs="0"/><s:element type="s:double" name="lllll_id" maxOccurs="1" minOccurs="1"/><s:element type="s:dateTime" name="effective_dt" maxOccurs="1" minOccurs="1"/><s:element type="s:dateTime" name="end_dt" maxOccurs="1" minOccurs="1"/></s:sequence></s:complexType><s:element name="of_get_providersResponse"><s:complexType><s:sequence><s:element type="s:int" name="of_get_providersResult" maxOccurs="1" minOccurs="1"/><s:element type="tns:ArrayOfS_prv_str" name="al_rows" maxOccurs="1" minOccurs="0"/></s:sequence></s:complexType></s:element></s:schema></wsdl:types><wsdl:message name="of_get_providersSoapIn"><wsdl:part name="parameters" element="tns:of_get_providers"/></wsdl:message><wsdl:message name="of_get_providersSoapOut"><wsdl:part name="parameters" element="tns:of_get_providersResponse"/></wsdl:message><wsdl:portType name="GetProvidersSoap"><wsdl:operation name="of_get_providers"><wsdl:input message="tns:of_get_providersSoapIn"/><wsdl:output message="tns:of_get_providersSoapOut"/></wsdl:operation></wsdl:portType><wsdl:binding type="tns:GetProvidersSoap" name="GetProvidersSoap"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="of_get_providers"><soap:operation style="document" soapAction="http://tempurl.org/of_get_providers"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding type="tns:GetProvidersSoap" name="GetProvidersSoap12"><soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="of_get_providers"><soap12:operation style="document" soapAction="http://tempurl.org/of_get_providers"/><wsdl:input><soap12:body use="literal"/></wsdl:input><wsdl:output><soap12:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="GetProviders"><wsdl:port name="GetProvidersSoap" binding="tns:GetProvidersSoap"><soap:address lllll="http://hpcpnbatch:8089/webservice/GetProviders.asmx"/></wsdl:port><wsdl:port name="GetProvidersSoap12" binding="tns:GetProvidersSoap12"><soap12:address lllll="http://hpcpnbatch:8089/webservice/GetProviders.asmx"/></wsdl:port></wsdl:service></wsdl:definitions>

My registry entry..for  (.Netframe work) ion Windows 10 machine

When created client and trying to consume I’m getting below error.

I just have very simple code behind window button..

 When I run....

 

Kevin Ridley Accepted Answer Pending Moderation
  1. Thursday, 30 January 2020 13:28 PM UTC
  2. PowerBuilder
  3. # 1

One other thing you can do is trap the request similar to what you show in the Request1 image and use that same request with the HTTPClient object.  You will have to parse the result manually, but it should work.  Then you wouldn't have to rebuild the service.  Checkout the following tutorial to help:

https://community.appeon.com/index.php/articles-blogs/tutorials-articles/2-powerbuilder/236-call-soap-web-services-using-httpclient-object

Comment
  1. Kevin Ridley
  2. Thursday, 30 January 2020 22:05 PM UTC
When I say to trap the request, of course I mean to trap a good request, so use something like SoapUI to test the service and get a good result. When you have that working, take the request from SoapUI and duplicate that with the HTTPClient.
  1. Helpful
There are no comments made yet.
Kevin Ridley Accepted Answer Pending Moderation
  1. Wednesday, 29 January 2020 20:48 PM UTC
  2. PowerBuilder
  3. # 2

Hi Mangutha,

 Can you export your getproviders object and post it here.  I'd like to get a look at the function skeleton from the getproviders to see what it's expecting.  Looks like you're expecting it to be a string array passed by reference.

 

Is this service available as a REST service as well?  You might have more luck going the REST route, there's been lots of great enhancements in this area.

 

KR

Comment
  1. Ricardo Jasso
  2. Thursday, 30 January 2020 00:59 AM UTC
Kevin, Mangutha created the .NET web service following a Appeon demo in Youtube, so he must be able to change the function argument of the request and/or the response methods from a structure with complex data type to multiple variables with simple data types.
  1. Helpful
  1. Ricardo Jasso
  2. Thursday, 30 January 2020 01:00 AM UTC
... as Chris mentioned earlier.
  1. Helpful
  1. Kevin Ridley
  2. Thursday, 30 January 2020 12:48 PM UTC
Since the web service is separate from the PB code, you can also use PB2019 to create the service. Then you can use newer objects like the HTTPClient and RESTClient for better results.
  1. Helpful
There are no comments made yet.
Mangutha Accepted Answer Pending Moderation
  1. Wednesday, 29 January 2020 13:16 PM UTC
  2. PowerBuilder
  3. # 3
Comment
There are no comments made yet.
Mangutha Accepted Answer Pending Moderation
  1. Wednesday, 29 January 2020 13:16 PM UTC
  2. PowerBuilder
  3. # 4

I just used below link process to create it and only change is db connection

Comment
There are no comments made yet.
Mangutha Accepted Answer Pending Moderation
  1. Tuesday, 28 January 2020 21:44 PM UTC
  2. PowerBuilder
  3. # 5

Comment
  1. Chris Pollach @Appeon
  2. Tuesday, 28 January 2020 22:08 PM UTC
Hmmm ...I wonder if this WS is expecting a .NET component to be passed In/Out? If so, PB would now be able to handle this as it only supports "simple" data types & structures. Looks like the issue might be in how the WS was designed.
  1. Helpful
There are no comments made yet.
Mangutha Accepted Answer Pending Moderation
  1. Tuesday, 28 January 2020 18:09 PM UTC
  2. PowerBuilder
  3. # 6

You can see in my PBL I have imported objects into exists PBl itself

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 28 January 2020 16:32 PM UTC
  2. PowerBuilder
  3. # 7

Hi Mangutha;

  In your Web Service client App, what I do not see ...

1) The .Net SOAP WS support library in your Target's library list ( pbwsclient170.pbd )

Regards ... Chris

Comment
  1. Chris Pollach @Appeon
  2. Tuesday, 28 January 2020 20:54 PM UTC
Have you tried accessing your ,.Net Web Service using SOAPUI (for example) or other WS testing tools (ie: Fiddler).?
  1. Helpful
  1. Mangutha
  2. Tuesday, 28 January 2020 21:44 PM UTC
Yes and got same Error.

  1. Helpful
  1. Arnd Schmidt
  2. Wednesday, 29 January 2020 09:42 AM UTC
You get a server error and that is correct!

You have 2 options:

1. ) Call the webservice by using the correct endpoint

2. ) Redeploy you webservice and make sure your deployment was successfull
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.