1. Paul Murray
  2. PowerBuilder
  3. Wednesday, 10 October 2018 23:09 PM UTC

Hi All,

I have PB 125 application running on Appeon 2016 which calls an email web service on the same server deployed previously under PB 12.5.  After our team upgraded to TLS 1.2 calls to the email web service stopped working.  I was able to give it a quick fix by logging into AEM and changing the call to the web service from HTTPS to HTTP.

So now I am getting ready to deploy the same application to PowerServer 2017 from PB 2017.

Question: Will I need to upgrade the email web service to PB 2017 and deploy to the same server?  Or should upgrading the calling application take care of it.  Or is there something else that has to be done altogether to get them to talk via HTTPS?

Thanks all!!

Paul

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 11 October 2018 00:42 AM UTC
  2. PowerBuilder
  3. # 1

Hi Paul;

  Support for TLS 1.2 was only added in PB2017R2 (released in January, 2018) via the new HTTPClient object class. PowerServer 2017 does not support those classes - hence TLS 1.2 currently. PowerServer 2018 coming out later this year will support the HTTPClient and RESTful web service object as well. These object classes are TLS 1.2 capable.

Regards ... Chris

Comment
  1. Paul Murray
  2. Thursday, 11 October 2018 20:29 PM UTC
Thanks Chris. So sometimes I get confused about what I can do and no longer do in PowerBuilder. I know the webforms are gone, but is .NET also gone? Can simply copy the .NET code from the web service into a function and deploy it to Appeon? The code is below:



#if defined PBDOTNET then



System.Net.mail.MailMessage message

message = create System.Net.mail.MailMessage

message.subject = subject

message.body = message_text



System.Net.Mail.MailAddress fromaddress

fromaddress = create System.Net.Mail.MailAddress(from_address, from_address_name)

message.From = fromaddress



System.Net.Mail.MailAddress toaddress



message.To.Add(to_address);

message.BCC.Add(bcc_address);



System.Net.Mail.SmtpClient smtpclient

smtpclient = create System.Net.Mail.SmtpClient

smtpclient.host = "web3.ftl.com"

smtpclient.port = 25

smtpclient.send(message)



return_code = "OK"



destroy message

destroy smtpclient



#end if
  1. Helpful
There are no comments made yet.
Paul Murray Accepted Answer Pending Moderation
  1. Thursday, 11 October 2018 01:05 AM UTC
  2. PowerBuilder
  3. # 2

Thank you, Sir.

So that means that I will only be able to make webservice calls via http (not https) while on 1.2?

Paul

Comment
  1. Mark Lee @Appeon
  2. Thursday, 11 October 2018 07:43 AM UTC
Hi Paul,

We suggest that you rewrite your webservice using the Appeon provided AppeonWebService object to call the webservice from your Web application.

See the following link for more details:

https://www.appeon.com/support/documents/appeon_online_help/pb2017r3/features_help_for_appeon_web/ch12.html



Regards,

Mark Lee
  1. Helpful
  1. Paul Murray
  2. Thursday, 11 October 2018 20:27 PM UTC
Thanks Mark. I will think about that. I was really hoping not to re-write the web service. Thinking...
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 11 October 2018 21:02 PM UTC
  2. PowerBuilder
  3. # 3

    Yes, that code would work in a WebForm or WinForm App. However, SAP deprecated the Webform feature in PB 12.5.2. Appeon deprecated the WinForm feature in PB2017 GA. The only thing left for that code-line would be within a PB based .Net Web Service as it's based on WebForms "under the covers".

     PowerServer would not accept that Web/WinForm code anyway. However, PS can easily call a .Net web service. So you could encapsulate the eMail .Net code into a WS and then call that from either your Web or Mobile based App to do the work for you from the server side.

 

Comment
  1. Paul Murray
  2. Thursday, 11 October 2018 21:50 PM UTC
Okay, so as I already have a web service with that code, I would need to call it using:



Example 2: the interface contains two parameters, their types are any.



any paralist[]

appeonwebservicecomponent caller

caller=create appeonwebservicecomponent

caller.calltype="1"

caller.proxydllorurl="http://localhost/webservice.asmx"

caller.classdescript=""

paralist[1]="param1"

paralist[2]="param2"

IRet=caller.of_callwebservice("GetUserName",paralist)
  1. Helpful
There are no comments made yet.
Tom Jiang @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 16 October 2018 06:22 AM UTC
  2. PowerBuilder
  3. # 4

Hi Paul,

Based on our test on Appeon 2016 and PowerServer 2017 both should work fine with TLS 1.2.  

If you still have the issue, please open a ticket at https://www.appeon.com/user/login?destination=/standardsupport/newbug and provide a test link for us to analyze your issue.

Regards,

Tom Jiang

 

Comment
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.