YJSoapEngine 是一个设计用于简化为 iPhone、iPad 实现 SOAP 网络服务的类。YJSoapEngine 可以用来序列化自定义对象作为 SOAP 请求。
从版本 1.0.0 开始,YJSoapEngine 需要 ARC。如果您希望在一个非 ARC 项目中使用 YJSoapEngine,只需将 -fobjc-arc 编译器标志添加到 YJSoapEngine.m 类中。要做到这一点,请转到目标设置中的编译阶段选项卡,打开编译源组,在列表中双击 YJSoapEngine.m,并在弹出窗口中输入 -fobjc-arc。
注意: XmlParser.m、OrderedDictionary.m 和 GDataXMLNode.m 非 ARC。如果在 ARC 项目中使用,只需将这些类的 -fno-objc-arc 标志添加。要做到这一点,请转到目标设置中的编译阶段选项卡,打开编译源组,双击 XmlParser.m 和 GDataXMLNode.m,并在弹出窗口中输入 -fno-objc-arc。
要在一个应用中使用 YJSoapEngine 类,只需将 YJSoapEngine 文件夹中的文件拖放到项目中即可。
在构建设置中,在头文件搜索路径中添加 /usr/include/libxml2。还要在构建设置的其它链接器标志中添加 -lxml2。
@property BOOL actionNamespaceSlash;
设置在最后一斜杠之前是否指定了 SoapAction 中的 Envelope 命名空间。
@property SoapAuthType authenticationMethod;
设置 soap 身份验证类型。
@property NSString *username, *password;
如果身份验证方法为 SoapAuthBasic,设置用于身份验证的用户名和密码。
- (void)setObject:(id)object andTag:(NSString *)tag andNamespace:(NSString *)nameSpace;
此方法用于在 SOAP 请求中设置自定义对象。此方法将序列化自定义对象。Tag 参数是可选的,用于设置对象的标签名称。Namespace 参数用于设置对象的命名空间。
- (void)setInteger:(int)value andTag:(NSString *)tag;
此方法用于在 SOAP 请求中设置整数值。Tag 用于指定要使用的标签名称。
- (void)setFloat:(float)value andTag:(NSString *)tag;
此方法用于在 SOAP 请求中设置浮点值。Tag 用于指定要使用的标签名称。
- (void)setString:(NSString *)value andTag:(NSString *)tag;
此方法用于在 SOAP 请求中设置字符串值。Tag 用于指定要使用的标签名称。
- (void)requestURL:(NSString *)reqURL withSoapAction:(NSString *)soapAction;
此方法用于将 SOAP 请求发送到指定的 URL 和 SOAP Action。
- (void)YJSoapEngine:(YJSoapEngine *)soapEngine didRecieveData:(NSString *)data inDictionary:(NSDictionary *)dataDictionary;
必需方法。当收到 SOAPResponse 时调用此方法。
- (void)YJSoapEngine:(YJSoapEngine *)YJSoapEngine didRecieveError:error inDictionary:(NSDictionary *)errorDictionary;
必需的方法。当SOAPResponse接收到错误时,调用此方法。