somsin / wsdl2objc

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

don't understand what do with obtained code #32

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Sorry for my English...

1. get last (v133) source of wsdl2objc from svn.
2. compile it.
3. run. As wsdl-file set url from my local server (there is webservice on 
C#, code in archive). Set output dir. Press "parse WSDL".
4. has endless cycle. Log:

2009-09-16 17:28:12.409 WSDL2ObjC[770:5e0b] Processing definitions import 
at location: http://192.168.1.19:8731/Design_Time_Addresses/
FoodAddsDBService/FoodAddsDBService/?wsdl=wsdl0
2009-09-16 17:28:12.573 WSDL2ObjC[770:5e0b] Processing definitions import 
at location: http://192.168.1.19:8731/Design_Time_Addresses/
FoodAddsDBService/FoodAddsDBService/?wsdl
2009-09-16 17:28:12.580 WSDL2ObjC[770:5e0b] Processing definitions import 
at location: http://192.168.1.19:8731/Design_Time_Addresses/
FoodAddsDBService/FoodAddsDBService/?wsdl=wsdl0
2009-09-16 17:28:12.586 WSDL2ObjC[770:5e0b] Processing definitions import 
at location: http://192.168.1.19:8731/Design_Time_Addresses/
FoodAddsDBService/FoodAddsDBService/?wsdl
2009-09-16 17:28:12.594 WSDL2ObjC[770:5e0b] Processing definitions import 
at location: http://192.168.1.19:8731/Design_Time_Addresses/
FoodAddsDBService/FoodAddsDBService/?wsdl=wsdl0

5. Download wsdl-file, commented out line 

<wsdl:import namespace="http://tempuri.org/"....

6. run wsdl2objc. As wsdl-file set that local file. Set output dir. Press 
"parse WSDL".

7. Got some code, but don't can use it, because, for example, can't found 
method like "GetFoodAdditivesUsingParameters" in class 
WSHttpBinding_IFoodAddsDBService.

C#-client work perfect. Maybe errors in wsdl-file. Can't penetrate %)

oldest version of wsdl2objc (with oldest wsdl-file) give me code, which I 
try use as:

        WSHttpBinding_IFoodAddsDBService *binding = 
[FoodAddsDBService WSHttpBinding_IFoodAddsDBService];
        binding.logXMLInOut = YES;

        FoodAddsDBService_GetFoodAdditives *parameters = 
[[FoodAddsDBService_GetFoodAdditives new] autorelease];
        parameters.language = [NSString stringWithFormat:@"%d",
[settings getDBLanguageID]];
        parameters.query    = queryOfUser;

        WSHttpBinding_IFoodAddsDBServiceResponse *response = 
[binding GetFoodAdditivesUsingParameters:parameters];

        NSArray *responseHeaders = response.headers;
        NSArray *responseBodyParts = response.bodyParts;

But response.headers's  and response.bodyParts's  counts are 0 in result.

Now we change C#-server  and have new wsdl (which I send to you)  and have 
new code from parser-writer. And new problems.

Original issue reported on code.google.com by shables...@gmail.com on 16 Sep 2009 at 3:14

Attachments:

GoogleCodeExporter commented 9 years ago
Your WSDLs have circular import references:
The first WSDL imports the second one via:
<wsdl:import namespace="http://tempuri.org/" 
location="http://192.168.1.19:8731/Design_Time_Addresses/FoodAddsDBService/FoodA
ddsDBService/?
wsdl=wsdl0"/>

That's fine.

But then when you parse the second one, it unnecessarily imports the first one 
via:
<wsdl:import namespace="FoodAddsDBService" 
location="http://192.168.1.19:8731/Design_Time_Addresses/FoodAddsDBService/FoodA
ddsDBService/?
wsdl"/>

In the second wsdl (wsdl0), get rid of the above wsdl:import line. It should be 
totally unnecessary.

Let me know if that works.

Original comment by hasse...@gmail.com on 16 Sep 2009 at 9:09