private static SoapObject getCommon(SoapObject request) {
// 鑾峰緱搴忓垪鍖栫殑Envelop
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet = true;
(new MarshalBase64()).register(envelope); // Android浼犺緭瀵硅薄
HttpTransportSE ht = new HttpTransportSE(serviceURL);
try {
List<HeaderProperty> hl = null;
if (headerValue != null && !"".equals(headerValue)) {
hl = new ArrayList<HeaderProperty>();
HeaderProperty headerPropertyObj = new HeaderProperty("cookie",
headerValue);
hl.add(headerPropertyObj);
}
List headerList = ht.call(serviceNameSpace + "sayHello", envelope,
hl);
for (Object header : headerList) {
HeaderProperty headerProperty = (HeaderProperty) header;
String headerKey = headerProperty.getKey();
if("Set-Cookie".equals(headerKey))
{
headerValue = headerProperty.getValue();
}
String value = headerProperty.getValue();
System.out.println(headerKey + " : " + value);
}
if (envelope.getResponse() != null) {
return (SoapObject) envelope.bodyIn;
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
服务端用.net写的接口好像是没有Set-Cookie这一项的,本人对C#也不了解,不知这种情况下改如何做,希望知道的朋友告之,非常感谢!