Greetings Jeff & fellow Cocoa Developers:
     I need to access a SOAP/WSDL server.
     I'm trying to convert some Java code to its ObjC equivalent.   

    Client (Mac)  <--- SOAP ----> WSDL server.

Here's where I'm coming from:
1) I need to make a POST connection.
2) Content type is SOAP (text/xml).
3) I need to set a request property as shown below.

This is a synchronous connection, waiting for a response & close the connection.
..
private String SOAP_SERVER_URL = "http://myconnect.eccron.com/soap/sync";;  
private final String SOAP_ACTION = "http://myconn.eccron.com/2007/02";;     
..
xmlstream = (StreamConnection)Connector.open(SOAP_SERVER_URL + 
";deviceside=false",Connector.READ_WRITE,true);

connection = (HttpConnection)xmlstream;
connection.setRequestMethod(HttpConnection.POST);
connection.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
connection.setRequestProperty("SOAPAction",SOAP_ACTION);
..

4) Send the SOAP envelope:
 ...
 // -------------------------------- Send Request 
-------------------------------
  OutputStream out = connection.openOutputStream();
  out.write(xmlreq.getBytes()); // 'xmlreq' is a concatenated XML string that 
is the SOAP envelope & message.
  out.flush();
  out.close();

5) And I need to interpret the response:
 // -------------------------------- Get Response 
-------------------------------
 // Get the connection status
  status = connection.getResponseCode();
  ...

=============

I don't need to know any particular socket.  I'm told that all I need to do is 
to access a given URI stated above.
I've tested the URI with a browser; and I do get a contact, albeit access was 
denied since I didn't supply a SOAP message with authorization.

I've read some blogs and follow some of the CocoaDev discussions.
I've learned that I should use NSFileHandle.

I believe you're onto something; and I need your (and/or other CococDev 
members) help.

What I've gotten so far is:
   NSFileHandle *myFileHandle ;
    
  // ... generate a file descriptor of the target URL...

  //  [myFileHandle initWithFileDescriptor:fileDescriptor closeOnDealloc:YES];
    
    
-(void)process:(id)notification { 
    NSFileHandle *fh = [notification object]; 
    NSMutableData *data = [fh availableData]; 
    NSString *dataString = [[NSString alloc] initWithData:data 
encoding:NSUTF8StringEncoding]; 
    /* Process the data however you need to here */ 
    [dataString release]; 
} 

...

I'm hitting a brick wall here.
I know there's a way...

Can you (and/or fellow CocoaDev members) please supply some guidance here 
and/or point to some simple docs?

Thanks; I would truly appreciate it!

Regards,
Ric


On Apr 9, 2008, at 2:53 PM, Jeff LaMarche wrote:

I'm periodically getting this message

*** -[NSConcreteFileHandle availableData]: Invalid argument

printed to the console of an application I'm working on. I'm confused about 
what it means because availableData doesn't take an argument.

Here's what I'm doing: I'm using NSFileHandle to handle socket communications 
with a remote server. I create an old-fashioned network socket, allocate an 
NSFileHandle, feed it the socket using initWithFileDescriptor:, and then use 
readInBackgroundAndNotify after specifying to receive 
NSFileHandleReadCompletionNotifications.  The odd thing is that despite this 
error getting printed in the console, my code is working as expected - I am 
getting data from the file handle and the data appears to be 100% correct.

My call back method looks like this:

- (void)updateStatusCallback:(id) notification
{
        NSFileHandle *fh = [notification object];
        NSData *data = [fh availableData];   //  <----- This call generates the 
message in the console sometimes... but it works
        NSString *theString = [[NSString alloc] initWithData:data 
encoding:NSUTF8StringEncoding];

 // code to process the response
}

In the debugger, I see no difference in fh between calls that generate the 
message and those that don't - it's always an NSConcreteFileHandle with a 
positive file descriptor. This message show up rougly about 10% of the time 
that the callback gets called, although it's not consistent.

Thanks in advance!
Jeff

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/fclee%40dialup4less.com

This email sent to [EMAIL PROTECTED]

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to