- Generate SOAP helper classes for the Global and Exchange WSDLs using SudzC. Be sure to choose the code bundle type that uses ARC.
- SudzC will generate properties with names beginning with "new" which the compiler will error on. This can be fixed by running the following in the
Source
directories generated by SudzC:
find . -name "*.h" | xargs -I{} sed -i "" "s/@property (retain, nonatomic) NSString\* new\(.*\);/@property (retain, nonatomic, getter=theNew\1) NSString\* new\1;/" {}
- Remove the
Soap
and TouchXML
folders from the Exchange
bundle created by SudzC to avoid adding duplicate classes.
- Remove the
Source/Generated/Soap+Prefix.h
files (they are only used in the SudzC example projects).
- Add the SudzC
Source
folders to your Xcode project.
- In "Build Settings":
- Add to "Other Linker Flags":
-lxml2
.
- Add to "Header Search Paths":
/usr/include/libxml2
.
- In "Build Phases" add the
SystemConfiguration
framework.
- In
SoapRequest.m
make the following change:
-CXMLNode* element = [[Soap getNode: [doc rootElement] withName: @"Body"] childAtIndex:0];
+CXMLNode* element = [[Soap getNode: [doc rootElement] withName: @"soap:Body"] childAtIndex:0];
- In
Soap.m
make the following change:
-[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];
+[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
+[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];