Shun87 / wsdl2objc

Automatically exported from code.google.com/p/wsdl2objc
MIT License
0 stars 0 forks source link

strange results with php webservicehelper WSDL generator #106

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. got php code from http://www.jool.nl/webservicehelper/
2. changed xsd:all to xsd:any (per issue #39)
3. parsed my wsdl at 
http://downtownorlando.info/wsdl/service.php?class=venderManager&wsdl
4. edited my venderManager.m class to pass methodName to 
serializedFormUsingHeaderElements calls  (per issue #69)
5. changed xsd:any back to xsd:all, so the webservicehelper would still work
6. used the code in an iPhone application and try to call getUpdate (with any 
values at all in the venderManager_request object--the method always returns 
the same data)

(note: I created a wsdl that has xsd:any in it so you can use wsdl2objc and 
then test. 
http://downtownorlando.info/wsdl_any/service.php?class=venderManager&wsdl
but you have to change the end-point back from wsdl_any to wsdl so that you can 
call it, because webservicehelper crashes with xsd:all)

What is the expected output?
I should get 2 "vender" objects in my venderManager_venderArray

What do you see instead?
I get no bodyParts (bodyParts.count = 0)

What version of the product are you using? On what operating system?
0.6

Please provide any additional information below.
1) I don't really understand the issue with xsd:all
2) I can see why it is not parsing in connectionDidFinishLoading, because it 
expects "getUpdateReturn" to be nested under Body, but the tree goes: Body -> 
getUpdateResponse -> getUpdateReturn.
3) even when I change my connectionDidFinishLoading to look for both nodes, it 
does not format the response into an NSMutableArray in 
venderManager_venderArray.

Original issue reported on code.google.com by cliffm1...@gmail.com on 17 Jul 2010 at 12:21

GoogleCodeExporter commented 8 years ago
Can you please try again with the 0.7pre release? Thanks.

Original comment by hasse...@gmail.com on 18 Jul 2010 at 4:05

GoogleCodeExporter commented 8 years ago

 I tested it with 0.7 pre release and received the exact same results.

 Here is the output information sent by the code. As you can see, it sends the correct method with the url in the header. However, the method is not included in the body:

OutputHeaders:
{
    "Content-Length" = 456;
    "Content-Type" = "text/xml; charset=utf-8";
    Host = "downtownorlando.info";
    Soapaction = "http://downtownorlando.info/wsdl/service.php?class=venderManager&method=getUpdate";
    "User-Agent" = wsdl2objc;
}

OutputBody:
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:venderManager="http://schema.example.com" xsl:version="1.0">
  <soap:Body>
    <req xsi:type="venderManager:request">
      <date>12345</date>
      <name>derf</name>
    </req>
  </soap:Body>
</soap:Envelope>

Original comment by cliffm1...@gmail.com on 19 Jul 2010 at 3:12