Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: IPV6 Implementation in Firemonkey App for IOS


This question is not answered. Helpful answers available: 0. Correct answers available: 1.


Permlink Replies: 12 - Last Post: Apr 5, 2018 4:59 PM Last Post By: Dave Nottage
Luis Lopez

Posts: 11
Registered: 9/4/16
IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 7, 2017 9:33 AM
Hello,

Recently i had a problem with my app when i was trying to publish it to the App Store. The people from apple rejected it because it did not supported IPV6, the app make calls to a web service and because of this it got a "Read time out Connection" error. The app has a cllient SOAP WS unit with TRemotable Functions and it was imported using the wizard of embarcadero with just giving the url of the wsdl.

Has anybody encountered with this problem? if so then how can i adapt my WS Unit to this changes betwen IPV6 and IPV4 so that the app can send and receive data? Thanks for your time, Cheers.
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: IPV6 Implementation in Firemonkey App for IOS
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 7, 2017 12:03 PM   in response to: Luis Lopez in response to: Luis Lopez
Luis Lopez wrote:

Has anybody encountered with this problem?

It is a known issue, and apparently it is being worked on. I haven't had the need to deploy to the app store/test
flight for a while, but I will soon, so I'm hoping it is resolved by then, otherwise I'll be looking into how to solve
it.

--
Dave Nottage [MVP, TeamB]
Hints, tips and tricks at: http://www.delphiworlds.com/blog
Luis Lopez

Posts: 11
Registered: 9/4/16
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 7, 2017 12:49 PM   in response to: Dave Nottage in response to: Dave Nottage
So there's not even a workaround to avoid this problem at the moment? Perhaps another way to send data to the server that allows change between IPV4 and IPV6

Dave Nottage wrote:
Luis Lopez wrote:

Has anybody encountered with this problem?

It is a known issue, and apparently it is being worked on. I haven't had the need to deploy to the app store/test
flight for a while, but I will soon, so I'm hoping it is resolved by then, otherwise I'll be looking into how to solve
it.

--
Dave Nottage [MVP, TeamB]
Hints, tips and tricks at: http://www.delphiworlds.com/blog
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 7, 2017 4:35 PM   in response to: Luis Lopez in response to: Luis Lopez
Luis Lopez wrote:
So there's not even a workaround to avoid this problem at the moment? Perhaps another way to send data to the server that allows change between IPV4 and IPV6

As far as I know, not if you're using the SOAP related components. I'll take another look into it.

--
Dave Nottage [TeamB]
Delphi Worlds blog: http://www.delphiworlds.com/blog
Luis Lopez

Posts: 11
Registered: 9/4/16
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 9, 2017 12:15 PM   in response to: Dave Nottage in response to: Dave Nottage
Well the people from Apple reply to me and just as i thought the problem occurs only on IPV6 Networks. They told me that the app connected to a IPV4 Network worked correctly, Does anyone has any links on a workaround to avoid this, i mean other than not publish to the App Store?

Dave Nottage wrote:
Luis Lopez wrote:
So there's not even a workaround to avoid this problem at the moment? Perhaps another way to send data to the server that allows change between IPV4 and IPV6

As far as I know, not if you're using the SOAP related components. I'll take another look into it.

--
Dave Nottage [TeamB]
Delphi Worlds blog: http://www.delphiworlds.com/blog
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: IPV6 Implementation in Firemonkey App for IOS
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 9, 2017 12:55 PM   in response to: Luis Lopez in response to: Luis Lopez
Luis Lopez wrote:

Does anyone has any links on a workaround to avoid this, i mean other than not publish to the App Store?

I haven't looked into it yet, however you may be able to put the hostname in square brackets, like this:

http://[www.somehost.com]/somepath

which works for the underlying TIdHTTP component (it forces it to use IPv6), however I fear the last time I checked the
THTTPRIO component does not handle it.

--
Dave Nottage [MVP, TeamB]
Hints, tips and tricks at: http://www.delphiworlds.com/blog
Eli Mapstead

Posts: 5
Registered: 4/11/02
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 7, 2017 5:21 PM   in response to: Luis Lopez in response to: Luis Lopez
Doesn't this just mean you are not making the connection in a thread? All HTTP connections on iOS must take place in a thread. THTTPRIO uses TNetHTTPClient behind the scenes in Delphi Berlin as far as I know and TNetHTTPClient is the native iOS client under the hood.

I'm actually using the THTTPRIO controls on iOS and for downloading data it is possible to just ditch them and use TNetHTTPClient directly. You can process the incoming data by creating an XML Data Binding (in addition to the WSDL Importer).

Luis Lopez wrote:
"Read time out Connection" error
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 7, 2017 5:41 PM   in response to: Eli Mapstead in response to: Eli Mapstead
Doesn't this just mean you are not making the connection in a thread? All HTTP connections on iOS must take place in a thread. THTTPRIO uses TNetHTTPClient behind the scenes in Delphi Berlin as far as I know and TNetHTTPClient is the native iOS client under the hood.

THTTPRIO uses Indy on non-Windows platforms. Check the Soap.SOAPHTTPClient and Soap.SOAPHTTPTrans units. You might be confusing it with the REST client.

--
Dave Nottage [TeamB]
Delphi Worlds blog: http://www.delphiworlds.com/blog
Eli M

Posts: 1,346
Registered: 11/9/13
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 9, 2017 8:16 AM   in response to: Dave Nottage in response to: Dave Nottage
Well, fail.

I was sure I'd read in the release notes that in Seattle or Berlin (the release or 2 after TRESTClient was converted) THTTPRIO had finally been converted to use TNetHTTPClient as well. Makes me want to ditch THTTPRIO now.
Richard Stevens

Posts: 52
Registered: 5/1/00
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 4, 2018 10:57 AM   in response to: Luis Lopez in response to: Luis Lopez
Assuming that you can't do it in Berlin - does anybody know if you can use the SOAP components with ipv6 in Tokyo?

Thanks
Richard
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 4, 2018 3:24 PM   in response to: Richard Stevens in response to: Richard Stevens
Richard Stevens wrote:

Assuming that you can't do it in Berlin - does anybody know if you can use the SOAP components with ipv6 in Tokyo?

I don't think anything has changed since this reply:

https://forums.embarcadero.com/thread.jspa?messageID=878757&tstart=0#878757

--
Dave Nottage [MVP, TeamB]
Find hints, tips and tricks at Delphi Worlds blog: http://www.delphiworlds.com
Richard Stevens

Posts: 52
Registered: 5/1/00
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 5, 2018 1:54 AM   in response to: Dave Nottage in response to: Dave Nottage
Thanks Dave. That is rather what I feared.

Do you have any suggestions for getting data into my app from a web server in an Apple approved way? A Datasnap client, perhaps?
Dave Nottage

Posts: 1,850
Registered: 1/7/00
Re: IPV6 Implementation in Firemonkey App for IOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 5, 2018 4:59 PM   in response to: Richard Stevens in response to: Richard Stevens
Richard Stevens wrote:

Do you have any suggestions for getting data into my app from a web server in an Apple approved way? A Datasnap
client, perhaps?

Specifically using SOAP? Find a library that can support IPv6. Otherwise, use the REST components (which use
HTTPClient, which uses the underlying native classes), whether or not that be in conjunction with Datasnap.

--
Dave Nottage [MVP, TeamB]
Find hints, tips and tricks at Delphi Worlds blog: http://www.delphiworlds.com
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02