KanikaVarma / sudzc

Automatically exported from code.google.com/p/sudzc
0 stars 0 forks source link

Malformed request from iOS to a Java webservice that uses String as it's arg. #63

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. I've created a Java Endpoint.publish()-based web-service server with a 
method that receives a String as it's argument.

Code for that method:
[QUOTE]
    @Override
    public Integer getCostForName(String name) {
        System.out.println("getCostForName received:" + name);
        //Calculate the cost for a given name...
    }
[/QUOTE]

2. I've used sudzc to generate necessary files, included them in my project, 
and tried to use the method getCostForName

[QUOTE]
-(IBAction)testWebServiceJavaEndpoint:(id)sender{
    JEWycieczkaServiceImplService* service = [JEWycieczkaServiceImplService service];
    service.logging = YES;
    [service getCostForName:self action:@selector(getCostForNameHandler:) arg0:@"Gdansk"];
}

- (void) getCostForNameHandler: (int) value {
    NSLog(@"getCostForName returned the value: %@", [NSNumber numberWithInt:value]);
}
[/QUOTE]

3. Here's the SOAP request that's being sent from iOS's side:

[QUOTE]
2012-11-18 14:05:38.366 StoryboardTest[1920:c07] Loading: 
http://localhost:9999/ws/wycieczka

2012-11-18 14:05:38.368 StoryboardTest[1920:c07] <?xml version="1.0" 
encoding="utf-8"?><soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns="http://endpoints/"><soap:Body><getCostForName><arg0>Gdansk</arg0></getCos
tForName></soap:Body></soap:Envelope>
[/QUOTE] 

4: Here's what I see from Java server-side:
[QUOTE]
Nov 18, 2012 2:05:38 PM com.sun.xml.internal.ws.transport.http.HttpAdapter 
fixQuotesAroundSoapAction
getCostForName received:null
WARNING: Received WS-I BP non-conformant Unquoted SoapAction HTTP header: 
Nov 18, 2012 2:05:38 PM 
com.sun.xml.internal.ws.server.sei.EndpointMethodHandler invoke
[/QUOTE]

So, by the looks of it, something's broke. I get a null arg server-side, which 
is not what I wanted :(

Any things that I can manually fix right now? How can I make it work? Are there 
any errors in SOAP request?

Original issue reported on code.google.com by NetaroBl...@gmail.com on 18 Nov 2012 at 5:24