आखिर में काम किया, मेरा सबसे बड़ा मुद्दा यूआरएल था जिसे मैं एचटीपीपोस्ट में पास कर रहा था और एसएपी के साथ ksoap2 मेरे लिए बिल्कुल काम नहीं करता था।
private void testCallingService() {
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getCredentialsProvider().setCredentials(
new AuthScope("ip here", port here),
new UsernamePasswordCredentials(username, password));
try {
String buffer = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:urn='namespace'><soapenv:Header/><soapenv:Body><urn:methodname><USERNAME>test</USERNAME></urn:methodname></soapenv:Body></soapenv:Envelope>";
HttpPost httppost = new HttpPost(url);
StringEntity se = new StringEntity(buffer, HTTP.UTF_8);
se.setContentType("text/xml");
httppost.setHeader("Content-Type",
"application/soap+xml;charset=UTF-8");
httppost.setEntity(se);
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new AuthScope("ip", port),
new UsernamePasswordCredentials(username, password));
httpclient.setCredentialsProvider(credsProvider);
BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient
.execute(httppost);
if (httpResponse.getStatusLine() != null) {
System.out.println("Http status: "
+ httpResponse.getStatusLine());
}
RequestLine requestLine = httppost.getRequestLine();
String response = getResponseBody(httpResponse); // read server response. response.getEntity().getContent();...
System.out.println("response: " + response);
} catch (IOException e) {
// TODO Auto-generated catch block
}
httpclient.getConnectionManager().shutdown();
}
इसलिए, मैंने स्वयं को एसओएपी लिफाफा बनाया, निकटतम भविष्य में ऐसा करने से रोकने की कोशिश करूंगा। प्रमाण पत्र प्रदाता का एक उदाहरण बनाया और मेरे उपयोगकर्ता/पास विवरण सेट करें। सर्वर से स्थिति 200 है और मुझे वह जानकारी प्राप्त होती है जो मुझे चाहिए। एक समस्या यह बनी हुई है कि प्रतिक्रिया स्पष्ट रूप से बहुत बड़ी है (और यह यहां रुकने वाला नहीं है) इसलिए मेरी प्रतिक्रिया कम हो गई है। अब हल करने के लिए काम कर रहे हैं। मुझे उम्मीद है कि यह किसी की मदद करेगा।
स्रोत
2012-02-15 08:51:08
यह तब तक काम करना चाहिए जब तक वे एंड्रॉइड के साथ विवादित न हों। – kosa
http://www.wiseandroid.com/post/2010/07/16/Porting-existing-Java-code-to-Android.aspx। हालांकि यह कहता है कि कुछ सामान एंड्रॉइड पसंद नहीं करेंगे। – sealz
यही वह है जो मैं उत्सुक हूं, आमतौर पर यह एंड्रॉइड के साथ संघर्ष करेगा, क्योंकि पैकेज javax.xml एंड्रॉइड के डिफ़ॉल्ट पैकेज में नहीं है और कोर लाइब्रेरी आयात करना संकलित नहीं है। मैं उम्मीद कर रहा था कि एक जावा परियोजना आयात करना एक ही परिणाम नहीं होगा, एंड्रॉइड उन वर्गों के बारे में शिकायत करेगा। – user1140656