そのため、6 つの変数を Web サービス ( http://hydra.chorleywood.org/hydradevices/devicesmanagement.asmx )に送信しようとすると問題が発生します。
私は4.2 API 17を実行しているアンドロイドでksoap2-androidを使用しています
関連付けられているボタンを押すたびにプログラムがクラッシュします。私は多くのチュートリアルに目を通し、彼らが行ったのと同じように実行しましたが、Eclipseで実行するか、エクスポートして携帯電話で実行するかに関係なく、うまくいきません。
ここにコードの関連部分があります
private static final String NAMESPACE = "http://hydra.chorleywood.org";
private static final String URL="http://hydra.chorleywood.org/hydradevices/devicesmanagement.asmx";
private static final String METHOD1_SOAP_ACTION_URL = "http://hydra.chorleywood.org/addNewDevice";
private static final String METHOD_NAME1 = "addNewDevice";
final Button status_button = (Button) findViewById(R.id.device_status);
status_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
// setting my variables
String EUI64 = "EHF7980HY3G793HG393GF737GH80G7";
String HashCode = "MB2GPD";
int DeviceTypeID = 528391;
String subType = "Weighing Scales";
String Manufacturer = "Samsung";
String SerialNumber = "8476403967";
// setting connectionas
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
envelope.dotNet = true;
// setting informaiton to be sent
request.addProperty("EUI64", EUI64);
request.addProperty("HashCode", HashCode);
request.addProperty("DeviceTypeID", DeviceTypeID);
request.addProperty("subType", subType);
request.addProperty("Manufacturer", Manufacturer);
request.addProperty("SerialNumber", SerialNumber);
// setting request to be sent out
envelope.setOutputSoapObject(request);
try
{
androidHttpTransport.call(METHOD1_SOAP_ACTION_URL, envelope);
//java.lang.String receivedString = (String)envelope.getResponse();
//java.lang.Boolean receivedBoolean = (Boolean)envelope.getResponse();
Object result = envelope.getResponse();
/**if(receivedBoolean = true) {
Context context = getApplicationContext();
CharSequence text = "testing toast";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}**/
}
catch(Exception e)
{
}
}
マニフェストにアクセス許可を設定しましたが、正確に何が間違っているのかわかりません。誰か知っていますか?
さまざまな API を試しましたが、それでもうまくいきませんでした。このトピックについて何か助けていただければ幸いです。これまでに 1 週間を費やしてきましたが、輪になって走っているところです。
私は文字通り他の人々のWebサービスを(アクティブなサーバーであると信じている)コピーして貼り付け、正確なコードを実行しようとしましたが、それもうまくいかないようです. おそらく、それは私が抱えている問題を理解するのに役立つでしょう。
どうもありがとう、
チャーリー