WSDL2ObjC faultcode quering any WSDL from IBM Domino web services

50 views
Skip to first unread message

Claudio Torrens

unread,
Sep 10, 2013, 6:39:58 PM9/10/13
to wsdl2obj...@googlegroups.com

Hello, 


I have problems with this web service:

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="urn:DefaultNamespace" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:DefaultNamespace" xmlns:intf="urn:DefaultNamespace" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 <wsdl:types>

  <schema targetNamespace="urn:DefaultNamespace" xmlns="http://www.w3.org/2001/XMLSchema">

   <element name="MONTHNUM" type="xsd:short"/>

   <element name="YEARNUM" type="xsd:short"/>

   <element name="GETTOTALCOSTReturn" type="xsd:double"/>

   <complexType name="POWERBILL">

    <sequence>

     <element name="MONTHNAME" type="xsd:string"/>

     <element name="MONTHNUMBER" type="xsd:short"/>

     <element name="YEARNUMBER" type="xsd:short"/>

     <element name="ELECTRICCOST" type="xsd:double"/>

     <element name="ELECTRICQTY" type="xsd:double"/>

     <element name="GASCOST" type="xsd:double"/>

     <element name="GASQTY" type="xsd:double"/>

     <element name="TOTALCOST" type="xsd:double"/>

     <element name="TEMPAVG" type="xsd:double"/>

     <element name="TEMPHIGH" type="xsd:double"/>

     <element name="TEMPLOW" type="xsd:double"/>

    </sequence>

   </complexType>

   <element name="GETPOWERBILLReturn" type="impl:POWERBILL"/>

  </schema>

 </wsdl:types>

 <wsdl:message name="GETPOWERBILLRequest">

  <wsdl:part element="intf:MONTHNUM" name="MONTHNUM"/>

  <wsdl:part element="intf:YEARNUM" name="YEARNUM"/>

 </wsdl:message>

 <wsdl:message name="GETTOTALCOSTResponse">

  <wsdl:part element="intf:GETTOTALCOSTReturn" name="GETTOTALCOSTReturn"/>

 </wsdl:message>

 <wsdl:message name="GETTOTALCOSTRequest">

  <wsdl:part element="intf:MONTHNUM" name="MONTHNUM"/>

  <wsdl:part element="intf:YEARNUM" name="YEARNUM"/>

 </wsdl:message>

 <wsdl:message name="GETPOWERBILLResponse">

  <wsdl:part element="intf:GETPOWERBILLReturn" name="GETPOWERBILLReturn"/>

 </wsdl:message>

 <wsdl:portType name="PowerBillSearch">

  <wsdl:operation name="GETTOTALCOST">

   <wsdl:input message="intf:GETTOTALCOSTRequest" name="GETTOTALCOSTRequest"/>

   <wsdl:output message="intf:GETTOTALCOSTResponse" name="GETTOTALCOSTResponse"/>

  </wsdl:operation>

  <wsdl:operation name="GETPOWERBILL">

   <wsdl:input message="intf:GETPOWERBILLRequest" name="GETPOWERBILLRequest"/>

   <wsdl:output message="intf:GETPOWERBILLResponse" name="GETPOWERBILLResponse"/>

  </wsdl:operation>

 </wsdl:portType>

 <wsdl:binding name="DominoSoapBinding" type="intf:PowerBillSearch">

  <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

  <wsdl:operation name="GETTOTALCOST">

   <wsdlsoap:operation soapAction="GETTOTALCOST"/>

   <wsdl:input name="GETTOTALCOSTRequest">

    <wsdlsoap:body use="literal"/>

   </wsdl:input>

   <wsdl:output name="GETTOTALCOSTResponse">

    <wsdlsoap:body use="literal"/>

   </wsdl:output>

  </wsdl:operation>

  <wsdl:operation name="GETPOWERBILL">

   <wsdlsoap:operation soapAction="GETPOWERBILL"/>

   <wsdl:input name="GETPOWERBILLRequest">

    <wsdlsoap:body use="literal"/>

   </wsdl:input>

   <wsdl:output name="GETPOWERBILLResponse">

    <wsdlsoap:body use="literal"/>

   </wsdl:output>

  </wsdl:operation>

 </wsdl:binding>

 <wsdl:service name="PowerBillSearchService">

  <wsdl:port binding="intf:DominoSoapBinding" name="Domino">

   <wsdlsoap:address location="http://estrella.creationware.local:80/development/FreeYourData.nsf/PowerBillSearchService?OpenWebService"/>

  </wsdl:port>

 </wsdl:service>

</wsdl:definitions>

 

I used the WSDL2ObjC Clases and I called them as follow:



    DominoSoapBinding * binding = [PowerBillSearchService DominoSoapBinding];

    

    binding.logXMLInOut = YES;

    binding.authUsername = @"Claudio Torrens";

    binding.authPassword = @"diosestapresente";

    PowerBillSearchService_POWERBILL *request = [[PowerBillSearchService_POWERBILL alloc]init];

 

    NSNumber *month = [NSNumber numberWithInt:7];;

    NSNumber *year = [NSNumber numberWithInt:2007];


    request.MONTHNUMBER = month;

    request.YEARNUMBER = year;


    DominoSoapBindingResponse *response = [binding GETTOTALCOSTUsingMONTHNUM:month YEARNUM:year];

    

    

    NSArray *responseBodyParts = response.bodyParts;

    

    NSLog(@"RESULTADO: %@",responseBodyParts);

    

    [binding release];

    [request release];



Error I've got is the following 


2013-09-10 18:35:18.146 FreeYourData[23355:c07] ResponseBody:

<?xml version="1.0" encoding="UTF-8"?>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <soapenv:Body>

  <soapenv:Fault>

   <faultcode>soapenv:Server.generalException</faultcode>

   <faultstring>No such operation</faultstring>

   <detail/>

  </soapenv:Fault>

 </soapenv:Body>

</soapenv:Envelope>



It got stacked on -> DominoSoapBindingResponse *response = [binding GETTOTALCOSTUsingMONTHNUM:month YEARNUM:year];



Please any advise will be appreciated.


Thanks . Claudio.



Henri Asseily

unread,
Sep 11, 2013, 7:03:22 AM9/11/13
to wsdl2obj...@googlegroups.com
What does GETTOTALCOSTUsingMONTHNUM:YEARNUM: look like in your generated code?
Because I don't see it in the WSDL. You only have GETTOTALCOST.

Claudio Torrens

unread,
Sep 11, 2013, 9:01:51 AM9/11/13
to wsdl2obj...@googlegroups.com
Hello Henri,

this is the the implementation class:

---------------------------------------------------------------------

#import "PowerBillSearchService.h"
#import <libxml/xmlstring.h>
#if TARGET_OS_IPHONE
#import <CFNetwork/CFNetwork.h>
#endif
@implementation PowerBillSearchService_POWERBILL
- (id)init
{
if((self = [super init])) {
MONTHNAME = 0;
MONTHNUMBER = 0;
YEARNUMBER = 0;
ELECTRICCOST = 0;
ELECTRICQTY = 0;
GASCOST = 0;
GASQTY = 0;
TOTALCOST = 0;
TEMPAVG = 0;
TEMPHIGH = 0;
TEMPLOW = 0;
}


return self;
}
- (void)dealloc
{
if(MONTHNAME != nil) [MONTHNAME release];
if(MONTHNUMBER != nil) [MONTHNUMBER release];
if(YEARNUMBER != nil) [YEARNUMBER release];
if(ELECTRICCOST != nil) [ELECTRICCOST release];
if(ELECTRICQTY != nil) [ELECTRICQTY release];
if(GASCOST != nil) [GASCOST release];
if(GASQTY != nil) [GASQTY release];
if(TOTALCOST != nil) [TOTALCOST release];
if(TEMPAVG != nil) [TEMPAVG release];
if(TEMPHIGH != nil) [TEMPHIGH release];
if(TEMPLOW != nil) [TEMPLOW release];


[super dealloc];
}
- (NSString *)nsPrefix
{
return @"PowerBillSearchService";
}
- (xmlNodePtr)xmlNodeForDoc:(xmlDocPtr)doc elementName:(NSString *)elName elementNSPrefix:(NSString *)elNSPrefix
{
NSString *nodeName = nil;
if(elNSPrefix != nil && [elNSPrefix length] > 0)
{
nodeName = [NSString stringWithFormat:@"%@:%@", elNSPrefix, elName];
}
else
{
nodeName = [NSString stringWithFormat:@"%@:%@", @"PowerBillSearchService", elName];
}


xmlNodePtr node = xmlNewDocNode(doc, NULL, [nodeName xmlString], NULL);



[self addAttributesToNode:node];


[self addElementsToNode:node];


return node;
}
- (void)addAttributesToNode:(xmlNodePtr)node
{


}
- (void)addElementsToNode:(xmlNodePtr)node
{


if(self.MONTHNAME != 0) {
xmlAddChild(node, [self.MONTHNAME xmlNodeForDoc:node->doc elementName:@"MONTHNAME" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.MONTHNUMBER != 0) {
xmlAddChild(node, [self.MONTHNUMBER xmlNodeForDoc:node->doc elementName:@"MONTHNUMBER" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.YEARNUMBER != 0) {
xmlAddChild(node, [self.YEARNUMBER xmlNodeForDoc:node->doc elementName:@"YEARNUMBER" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.ELECTRICCOST != 0) {
xmlAddChild(node, [self.ELECTRICCOST xmlNodeForDoc:node->doc elementName:@"ELECTRICCOST" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.ELECTRICQTY != 0) {
xmlAddChild(node, [self.ELECTRICQTY xmlNodeForDoc:node->doc elementName:@"ELECTRICQTY" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.GASCOST != 0) {
xmlAddChild(node, [self.GASCOST xmlNodeForDoc:node->doc elementName:@"GASCOST" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.GASQTY != 0) {
xmlAddChild(node, [self.GASQTY xmlNodeForDoc:node->doc elementName:@"GASQTY" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.TOTALCOST != 0) {
xmlAddChild(node, [self.TOTALCOST xmlNodeForDoc:node->doc elementName:@"TOTALCOST" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.TEMPAVG != 0) {
xmlAddChild(node, [self.TEMPAVG xmlNodeForDoc:node->doc elementName:@"TEMPAVG" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.TEMPHIGH != 0) {
xmlAddChild(node, [self.TEMPHIGH xmlNodeForDoc:node->doc elementName:@"TEMPHIGH" elementNSPrefix:@"PowerBillSearchService"]);
}
if(self.TEMPLOW != 0) {
xmlAddChild(node, [self.TEMPLOW xmlNodeForDoc:node->doc elementName:@"TEMPLOW" elementNSPrefix:@"PowerBillSearchService"]);
}
}
/* elements */
@synthesize MONTHNAME;
@synthesize MONTHNUMBER;
@synthesize YEARNUMBER;
@synthesize ELECTRICCOST;
@synthesize ELECTRICQTY;
@synthesize GASCOST;
@synthesize GASQTY;
@synthesize TOTALCOST;
@synthesize TEMPAVG;
@synthesize TEMPHIGH;
@synthesize TEMPLOW;
/* attributes */
- (NSDictionary *)attributes
{
NSMutableDictionary *attributes = [NSMutableDictionary dictionary];


return attributes;
}
+ (PowerBillSearchService_POWERBILL *)deserializeNode:(xmlNodePtr)cur
{
PowerBillSearchService_POWERBILL *newObject = [[PowerBillSearchService_POWERBILL new] autorelease];


[newObject deserializeAttributesFromNode:cur];
[newObject deserializeElementsFromNode:cur];


return newObject;
}
- (void)deserializeAttributesFromNode:(xmlNodePtr)cur
{
}
- (void)deserializeElementsFromNode:(xmlNodePtr)cur
{



for( cur = cur->children ; cur != NULL ; cur = cur->next ) {
if(cur->type == XML_ELEMENT_NODE) {
xmlChar *elementText = xmlNodeListGetString(cur->doc, cur->children, 1);
NSString *elementString = nil;


if(elementText != NULL) {
elementString = [NSString stringWithCString:(char*)elementText encoding:NSUTF8StringEncoding];
[elementString self]; // avoid compiler warning for unused var
xmlFree(elementText);
}
if(xmlStrEqual(cur->name, (const xmlChar *) "MONTHNAME")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSString  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.MONTHNAME = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "MONTHNUMBER")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.MONTHNUMBER = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "YEARNUMBER")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.YEARNUMBER = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "ELECTRICCOST")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.ELECTRICCOST = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "ELECTRICQTY")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.ELECTRICQTY = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "GASCOST")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.GASCOST = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "GASQTY")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.GASQTY = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "TOTALCOST")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.TOTALCOST = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "TEMPAVG")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.TEMPAVG = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "TEMPHIGH")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.TEMPHIGH = newChild;
}
if(xmlStrEqual(cur->name, (const xmlChar *) "TEMPLOW")) {


Class elementClass = nil;
xmlChar *instanceType = xmlGetNsProp(cur, (const xmlChar *) "type", (const xmlChar *) "http://www.w3.org/2001/XMLSchema-instance");
if(instanceType == NULL) {
elementClass = [NSNumber  class];
} else {
NSString *elementTypeString = [NSString stringWithCString:(char*)instanceType encoding:NSUTF8StringEncoding];


NSArray *elementTypeArray = [elementTypeString componentsSeparatedByString:@":"];


NSString *elementClassString = nil;
if([elementTypeArray count] > 1) {
NSString *prefix = [elementTypeArray objectAtIndex:0];
NSString *localName = [elementTypeArray objectAtIndex:1];


xmlNsPtr elementNamespace = xmlSearchNs(cur->doc, cur, [prefix xmlString]);


NSString *standardPrefix = [[USGlobals sharedInstance].wsdlStandardNamespaces objectForKey:[NSString stringWithCString:(char*)elementNamespace->href encoding:NSUTF8StringEncoding]];


elementClassString = [NSString stringWithFormat:@"%@_%@", standardPrefix, localName];
} else {
elementClassString = [elementTypeString stringByReplacingOccurrencesOfString:@":" withString:@"_" options:0 range:NSMakeRange(0, [elementTypeString length])];
}


elementClass = NSClassFromString(elementClassString);
xmlFree(instanceType);
}


id newChild = [elementClass deserializeNode:cur];


self.TEMPLOW = newChild;
}
}
}
}
@end
@implementation PowerBillSearchService
+ (void)initialize
{
[[USGlobals sharedInstance].wsdlStandardNamespaces setObject:@"ns1" forKey:@"http://www.w3.org/2001/XMLSchema"];
[[USGlobals sharedInstance].wsdlStandardNamespaces setObject:@"PowerBillSearchService" forKey:@"urn:DefaultNamespace"];
}
+ (DominoSoapBinding *)DominoSoapBinding
{
return [[[DominoSoapBinding alloc] initWithAddress:@"http://estrella.creationware.local:80/development/FreeYourData.nsf/PowerBillSearchService?OpenWebService"] autorelease];
}
@end
@implementation DominoSoapBinding
@synthesize address;
@synthesize defaultTimeout;
@synthesize logXMLInOut;
@synthesize cookies;
@synthesize authUsername;
@synthesize authPassword;
- (id)init
{
if((self = [super init])) {
address = nil;
cookies = nil;
defaultTimeout = 10;//seconds
logXMLInOut = NO;
synchronousOperationComplete = NO;
}


return self;
}
- (id)initWithAddress:(NSString *)anAddress
{
if((self = [self init])) {
self.address = [NSURL URLWithString:anAddress];
}


return self;
}
- (void)addCookie:(NSHTTPCookie *)toAdd
{
if(toAdd != nil) {
if(cookies == nil) cookies = [[NSMutableArray alloc] init];
[cookies addObject:toAdd];
}
}
- (DominoSoapBindingResponse *)performSynchronousOperation:(DominoSoapBindingOperation *)operation
{
synchronousOperationComplete = NO;
[operation start];


// Now wait for response
NSRunLoop *theRL = [NSRunLoop currentRunLoop];


while (!synchronousOperationComplete && [theRL runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]);
return operation.response;
}
- (void)performAsynchronousOperation:(DominoSoapBindingOperation *)operation
{
[operation start];
}
- (void) operation:(DominoSoapBindingOperation *)operation completedWithResponse:(DominoSoapBindingResponse *)response
{
synchronousOperationComplete = YES;
}
- (DominoSoapBindingResponse *)GETTOTALCOSTUsingMONTHNUM:(NSNumber *)aMONTHNUM YEARNUM:(NSNumber *)aYEARNUM 
{
return [self performSynchronousOperation:[[(DominoSoapBinding_GETTOTALCOST*)[DominoSoapBinding_GETTOTALCOST alloc] initWithBinding:self delegate:self
MONTHNUM:aMONTHNUM
YEARNUM:aYEARNUM
] autorelease]];
}
- (void)GETTOTALCOSTAsyncUsingMONTHNUM:(NSNumber *)aMONTHNUM YEARNUM:(NSNumber *)aYEARNUM  delegate:(id<DominoSoapBindingResponseDelegate>)responseDelegate
{
[self performAsynchronousOperation: [[(DominoSoapBinding_GETTOTALCOST*)[DominoSoapBinding_GETTOTALCOST alloc] initWithBinding:self delegate:responseDelegate
MONTHNUM:aMONTHNUM
YEARNUM:aYEARNUM
] autorelease]];
}
- (DominoSoapBindingResponse *)GETPOWERBILLUsingMONTHNUM:(NSNumber *)aMONTHNUM YEARNUM:(NSNumber *)aYEARNUM 
{
return [self performSynchronousOperation:[[(DominoSoapBinding_GETPOWERBILL*)[DominoSoapBinding_GETPOWERBILL alloc] initWithBinding:self delegate:self
MONTHNUM:aMONTHNUM
YEARNUM:aYEARNUM
] autorelease]];
}
- (void)GETPOWERBILLAsyncUsingMONTHNUM:(NSNumber *)aMONTHNUM YEARNUM:(NSNumber *)aYEARNUM  delegate:(id<DominoSoapBindingResponseDelegate>)responseDelegate
{
[self performAsynchronousOperation: [[(DominoSoapBinding_GETPOWERBILL*)[DominoSoapBinding_GETPOWERBILL alloc] initWithBinding:self delegate:responseDelegate
MONTHNUM:aMONTHNUM
YEARNUM:aYEARNUM
] autorelease]];
}
- (void)sendHTTPCallUsingBody:(NSString *)outputBody soapAction:(NSString *)soapAction forOperation:(DominoSoapBindingOperation *)operation
{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:self.address 
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
timeoutInterval:self.defaultTimeout];
NSData *bodyData = [outputBody dataUsingEncoding:NSUTF8StringEncoding];


if(cookies != nil) {
[request setAllHTTPHeaderFields:[NSHTTPCookie requestHeaderFieldsWithCookies:cookies]];
}
[request setValue:@"wsdl2objc" forHTTPHeaderField:@"User-Agent"];
[request setValue:soapAction forHTTPHeaderField:@"SOAPAction"];
[request setValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%u", [bodyData length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:self.address.host forHTTPHeaderField:@"Host"];
[request setHTTPMethod: @"POST"];
// set version 1.1 - how?
[request setHTTPBody: bodyData];


if(self.logXMLInOut) {
NSLog(@"OutputHeaders:\n%@", [request allHTTPHeaderFields]);
NSLog(@"OutputBody:\n%@", outputBody);
}


NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:operation];


operation.urlConnection = connection;
[connection release];
}
- (void) dealloc
{
[address release];
[cookies release];
[super dealloc];
}
@end
@implementation DominoSoapBindingOperation
@synthesize binding;
@synthesize response;
@synthesize delegate;
@synthesize responseData;
@synthesize urlConnection;
- (id)initWithBinding:(DominoSoapBinding *)aBinding delegate:(id<DominoSoapBindingResponseDelegate>)aDelegate
{
if ((self = [super init])) {
self.binding = aBinding;
response = nil;
self.delegate = aDelegate;
self.responseData = nil;
self.urlConnection = nil;
}


return self;
}
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if ([challenge previousFailureCount] == 0) {
NSURLCredential *newCredential;
newCredential=[NSURLCredential credentialWithUser:self.binding.authUsername
password:self.binding.authPassword
  persistence:NSURLCredentialPersistenceForSession];
[[challenge sender] useCredential:newCredential
  forAuthenticationChallenge:challenge];
} else {
[[challenge sender] cancelAuthenticationChallenge:challenge];
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:@"Authentication Error" forKey:NSLocalizedDescriptionKey];
NSError *authError = [NSError errorWithDomain:@"Connection Authentication" code:0 userInfo:userInfo];
[self connection:connection didFailWithError:authError];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)urlResponse
{
NSHTTPURLResponse *httpResponse;
if ([urlResponse isKindOfClass:[NSHTTPURLResponse class]]) {
httpResponse = (NSHTTPURLResponse *) urlResponse;
} else {
httpResponse = nil;
}


if(binding.logXMLInOut) {
NSLog(@"ResponseStatus: %u\n", [httpResponse statusCode]);
NSLog(@"ResponseHeaders:\n%@", [httpResponse allHeaderFields]);
}


NSMutableArray *cookies = [[NSHTTPCookie cookiesWithResponseHeaderFields:[httpResponse allHeaderFields] forURL:binding.address] mutableCopy];


binding.cookies = cookies;
[cookies release];
  if ([urlResponse.MIMEType rangeOfString:@"text/xml"].length == 0) {
NSError *error = nil;
[connection cancel];
if ([httpResponse statusCode] >= 400) {
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:[NSHTTPURLResponse localizedStringForStatusCode:[httpResponse statusCode]] forKey:NSLocalizedDescriptionKey];


error = [NSError errorWithDomain:@"DominoSoapBindingResponseHTTP" code:[httpResponse statusCode] userInfo:userInfo];
} else {
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:
[NSString stringWithFormat: @"Unexpected response MIME type to SOAP call:%@", urlResponse.MIMEType]
forKey:NSLocalizedDescriptionKey];
error = [NSError errorWithDomain:@"DominoSoapBindingResponseHTTP" code:1 userInfo:userInfo];
}


[self connection:connection didFailWithError:error];
  }
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
  if (responseData == nil) {
responseData = [data mutableCopy];
} else {
[responseData appendData:data];
}
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
if (binding.logXMLInOut) {
NSLog(@"ResponseError:\n%@", error);
}
response.error = error;
[delegate operation:self completedWithResponse:response];
}
- (void)dealloc
{
[binding release];
[response release];
delegate = nil;
[responseData release];
[urlConnection release];


[super dealloc];
}
@end
@implementation DominoSoapBinding_GETTOTALCOST
@synthesize MONTHNUM;
@synthesize YEARNUM;
- (id)initWithBinding:(DominoSoapBinding *)aBinding delegate:(id<DominoSoapBindingResponseDelegate>)responseDelegate
MONTHNUM:(NSNumber *)aMONTHNUM
YEARNUM:(NSNumber *)aYEARNUM
{
if((self = [super initWithBinding:aBinding delegate:responseDelegate])) {
self.MONTHNUM = aMONTHNUM;
self.YEARNUM = aYEARNUM;
}


return self;
}
- (void)dealloc
{
if(MONTHNUM != nil) [MONTHNUM release];
if(YEARNUM != nil) [YEARNUM release];


[super dealloc];
}
- (void)main
{
[response autorelease];
response = [DominoSoapBindingResponse new];


DominoSoapBinding_envelope *envelope = [DominoSoapBinding_envelope sharedInstance];


NSMutableDictionary *headerElements = nil;
headerElements = [NSMutableDictionary dictionary];


NSMutableDictionary *bodyElements = nil;
bodyElements = [NSMutableDictionary dictionary];
if(MONTHNUM != nil) [bodyElements setObject:MONTHNUM forKey:@"MONTHNUM"];
if(YEARNUM != nil) [bodyElements setObject:YEARNUM forKey:@"YEARNUM"];


NSString *operationXMLString = [envelope serializedFormUsingHeaderElements:headerElements bodyElements:bodyElements];


[binding sendHTTPCallUsingBody:operationXMLString soapAction:@"GETTOTALCOST" forOperation:self];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if (responseData != nil && delegate != nil)
{
xmlDocPtr doc;
xmlNodePtr cur;


if (binding.logXMLInOut) {
NSLog(@"ResponseBody:\n%@", [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease]);
}


doc = xmlParseMemory([responseData bytes], [responseData length]);


if (doc == NULL) {
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:@"Errors while parsing returned XML" forKey:NSLocalizedDescriptionKey];


response.error = [NSError errorWithDomain:@"DominoSoapBindingResponseXML" code:1 userInfo:userInfo];
[delegate operation:self completedWithResponse:response];
} else {
cur = xmlDocGetRootElement(doc);
cur = cur->children;


for( ; cur != NULL ; cur = cur->next) {
if(cur->type == XML_ELEMENT_NODE) {


if(xmlStrEqual(cur->name, (const xmlChar *) "Body")) {
NSMutableArray *responseBodyParts = [NSMutableArray array];


xmlNodePtr bodyNode;
for(bodyNode=cur->children ; bodyNode != NULL ; bodyNode = bodyNode->next) {
if(cur->type == XML_ELEMENT_NODE) {
if(xmlStrEqual(bodyNode->name, (const xmlChar *) "GETTOTALCOSTReturn")) {
NSNumber  *bodyObject = [NSNumber  deserializeNode:bodyNode];
//NSAssert1(bodyObject != nil, @"Errors while parsing body %s", bodyNode->name);
if (bodyObject != nil) [responseBodyParts addObject:bodyObject];
}
if (xmlStrEqual(bodyNode->ns->prefix, cur->ns->prefix) && 
xmlStrEqual(bodyNode->name, (const xmlChar *) "Fault")) {
SOAPFault *bodyObject = [SOAPFault deserializeNode:bodyNode];
//NSAssert1(bodyObject != nil, @"Errors while parsing body %s", bodyNode->name);
if (bodyObject != nil) [responseBodyParts addObject:bodyObject];
}
}
}


response.bodyParts = responseBodyParts;
}
}
}


xmlFreeDoc(doc);
}


xmlCleanupParser();
[delegate operation:self completedWithResponse:response];
}
}
@end
@implementation DominoSoapBinding_GETPOWERBILL
@synthesize MONTHNUM;
@synthesize YEARNUM;
- (id)initWithBinding:(DominoSoapBinding *)aBinding delegate:(id<DominoSoapBindingResponseDelegate>)responseDelegate
MONTHNUM:(NSNumber *)aMONTHNUM
YEARNUM:(NSNumber *)aYEARNUM
{
if((self = [super initWithBinding:aBinding delegate:responseDelegate])) {
self.MONTHNUM = aMONTHNUM;
self.YEARNUM = aYEARNUM;
}


return self;
}
- (void)dealloc
{
if(MONTHNUM != nil) [MONTHNUM release];
if(YEARNUM != nil) [YEARNUM release];


[super dealloc];
}
- (void)main
{
[response autorelease];
response = [DominoSoapBindingResponse new];


DominoSoapBinding_envelope *envelope = [DominoSoapBinding_envelope sharedInstance];


NSMutableDictionary *headerElements = nil;
headerElements = [NSMutableDictionary dictionary];


NSMutableDictionary *bodyElements = nil;
bodyElements = [NSMutableDictionary dictionary];
if(MONTHNUM != nil) [bodyElements setObject:MONTHNUM forKey:@"MONTHNUM"];
if(YEARNUM != nil) [bodyElements setObject:YEARNUM forKey:@"YEARNUM"];


NSString *operationXMLString = [envelope serializedFormUsingHeaderElements:headerElements bodyElements:bodyElements];


[binding sendHTTPCallUsingBody:operationXMLString soapAction:@"GETPOWERBILL" forOperation:self];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if (responseData != nil && delegate != nil)
{
xmlDocPtr doc;
xmlNodePtr cur;


if (binding.logXMLInOut) {
NSLog(@"ResponseBody:\n%@", [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease]);
}


doc = xmlParseMemory([responseData bytes], [responseData length]);


if (doc == NULL) {
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:@"Errors while parsing returned XML" forKey:NSLocalizedDescriptionKey];


response.error = [NSError errorWithDomain:@"DominoSoapBindingResponseXML" code:1 userInfo:userInfo];
[delegate operation:self completedWithResponse:response];
} else {
cur = xmlDocGetRootElement(doc);
cur = cur->children;


for( ; cur != NULL ; cur = cur->next) {
if(cur->type == XML_ELEMENT_NODE) {


if(xmlStrEqual(cur->name, (const xmlChar *) "Body")) {
NSMutableArray *responseBodyParts = [NSMutableArray array];


xmlNodePtr bodyNode;
for(bodyNode=cur->children ; bodyNode != NULL ; bodyNode = bodyNode->next) {
if(cur->type == XML_ELEMENT_NODE) {
if(xmlStrEqual(bodyNode->name, (const xmlChar *) "GETPOWERBILLReturn")) {
PowerBillSearchService_POWERBILL *bodyObject = [PowerBillSearchService_POWERBILL deserializeNode:bodyNode];
//NSAssert1(bodyObject != nil, @"Errors while parsing body %s", bodyNode->name);
if (bodyObject != nil) [responseBodyParts addObject:bodyObject];
}
if (xmlStrEqual(bodyNode->ns->prefix, cur->ns->prefix) && 
xmlStrEqual(bodyNode->name, (const xmlChar *) "Fault")) {
SOAPFault *bodyObject = [SOAPFault deserializeNode:bodyNode];
//NSAssert1(bodyObject != nil, @"Errors while parsing body %s", bodyNode->name);
if (bodyObject != nil) [responseBodyParts addObject:bodyObject];
}
}
}


response.bodyParts = responseBodyParts;
}
}
}


xmlFreeDoc(doc);
}


xmlCleanupParser();
[delegate operation:self completedWithResponse:response];
}
}
@end
static DominoSoapBinding_envelope *DominoSoapBindingSharedEnvelopeInstance = nil;
@implementation DominoSoapBinding_envelope
+ (DominoSoapBinding_envelope *)sharedInstance
{
if(DominoSoapBindingSharedEnvelopeInstance == nil) {
DominoSoapBindingSharedEnvelopeInstance = [DominoSoapBinding_envelope new];
}


return DominoSoapBindingSharedEnvelopeInstance;
}
- (NSString *)serializedFormUsingHeaderElements:(NSDictionary *)headerElements bodyElements:(NSDictionary *)bodyElements
{
    xmlDocPtr doc;


doc = xmlNewDoc((const xmlChar*)XML_DEFAULT_VERSION);
if (doc == NULL) {
NSLog(@"Error creating the xml document tree");
return @"";
}


xmlNodePtr root = xmlNewDocNode(doc, NULL, (const xmlChar*)"Envelope", NULL);
xmlDocSetRootElement(doc, root);


xmlNsPtr soapEnvelopeNs = xmlNewNs(root, (const xmlChar*)"http://schemas.xmlsoap.org/soap/envelope/", (const xmlChar*)"soap");
xmlSetNs(root, soapEnvelopeNs);


xmlNsPtr xslNs = xmlNewNs(root, (const xmlChar*)"http://www.w3.org/1999/XSL/Transform", (const xmlChar*)"xsl");
xmlNewNs(root, (const xmlChar*)"http://www.w3.org/2001/XMLSchema-instance", (const xmlChar*)"xsi");


xmlNewNsProp(root, xslNs, (const xmlChar*)"version", (const xmlChar*)"1.0");


xmlNewNs(root, (const xmlChar*)"http://www.w3.org/2001/XMLSchema", (const xmlChar*)"ns1");
xmlNewNs(root, (const xmlChar*)"urn:DefaultNamespace", (const xmlChar*)"PowerBillSearchService");


if((headerElements != nil) && ([headerElements count] > 0)) {
xmlNodePtr headerNode = xmlNewDocNode(doc, soapEnvelopeNs, (const xmlChar*)"Header", NULL);
xmlAddChild(root, headerNode);


for(NSString *key in [headerElements allKeys]) {
id header = [headerElements objectForKey:key];
xmlAddChild(headerNode, [header xmlNodeForDoc:doc elementName:key elementNSPrefix:nil]);
}
}


if((bodyElements != nil) && ([bodyElements count] > 0)) {
xmlNodePtr bodyNode = xmlNewDocNode(doc, soapEnvelopeNs, (const xmlChar*)"Body", NULL);
xmlAddChild(root, bodyNode);


for(NSString *key in [bodyElements allKeys]) {
id body = [bodyElements objectForKey:key];
xmlAddChild(bodyNode, [body xmlNodeForDoc:doc elementName:key elementNSPrefix:nil]);
}
}


xmlChar *buf;
int size;
xmlDocDumpFormatMemory(doc, &buf, &size, 1);


NSString *serializedForm = [NSString stringWithCString:(const char*)buf encoding:NSUTF8StringEncoding];
xmlFree(buf);


xmlFreeDoc(doc);
return serializedForm;
}
@end
@implementation DominoSoapBindingResponse
@synthesize headers;
@synthesize bodyParts;
@synthesize error;
- (id)init
{
if((self = [super init])) {
headers = nil;
bodyParts = nil;
error = nil;
}


return self;
}
-(void)dealloc {
    self.headers = nil;
    self.bodyParts = nil;
    self.error = nil;
    [super dealloc];
}
@end


--------------------------------------------------------------------------------------------

Bien à Vous / Best Regards / Saludos Cordiales, 

Claudio Torrens 
IT Consultant

Messages: 1-514-227-4124  Mobile: 1-514-358-4595

Chat: el__colo 
Find me on: 



 




--
You received this message because you are subscribed to a topic in the Google Groups "WSDL2ObjC Discussion Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/wsdl2objc-discuss/BvbAjecYxLI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to wsdl2objc-disc...@googlegroups.com.
To post to this group, send email to wsdl2obj...@googlegroups.com.
Visit this group at http://groups.google.com/group/wsdl2objc-discuss.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages