2

私はksoapライブラリを使用して.netWebサービスを利用しています。そして私はこの種のエラーを受け取っています

"予想:START_TAG { http://schemas.xmlsoap.org/soap/envelope/ } Envelope(position:START_TAG @ 1:7 in java.io.InputStreamReader@40d0c7d8)"

私はどこでも検索しましたが、良い助けは見つかりませんでした。

これが私がWebサービスを利用しようとするコードです。

public class WebInvoke {

    private static final String NAMESPACE = "http://tempuri.org/" ;
    private static final String METHOD_NAME = "login";
    private static final String SOAP_ACTION = NAMESPACE + METHOD_NAME;
    private static final String URL = "http://10.0.2.2/Service1.asmx";
    private final SoapSerializationEnvelope envelope;


    public WebInvoke()
    {
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

        PropertyInfo quotesProperty = new PropertyInfo();
        quotesProperty.setName("UserName");
        quotesProperty.setValue("admin");
        quotesProperty.setType(String.class);
        request.addProperty(quotesProperty);

        quotesProperty = new PropertyInfo();
        quotesProperty.setName("Password");
        quotesProperty.setValue("a");
        quotesProperty.setType(String.class);
        request.addProperty(quotesProperty);

        Log.e("Request Assign", request.toString());
        envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);
        Log.e("Envelope Assign", envelope.toString());
    }
    public String Fetch()
    {
        String result = "";
        HttpTransportSE httpRequest = new HttpTransportSE(URL);
        try
        {
            envelope.xsd = SoapSerializationEnvelope.XSD;
            envelope.enc = SoapSerializationEnvelope.ENC;

            httpRequest.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"utf-8\"?>");

             Log.e("httpRequest.call", "httpRequest.call");
            httpRequest.call(SOAP_ACTION, envelope);
            SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
            result =  response.toString();
        }
        catch(Exception e)
        {
            //e.printStackTrace();
            Log.e("httpRequest.call Exception", e.getMessage());
        }
        return result;
    }

}
4

2 に答える 2

1

より良いコードを試してみてください。あなたのコードは少しぎこちなく聞こえます。

「org.xmlpull.v1.XmlPullParserException: expected: START_TAG」エラー expected-start-tag-error

これを確認してください。

  1. .netcode でメソッド名と URL を確認してください

  2. データベース プロジェクトの実行を許可しないため、C# アプリコード ファイルの app_html.offline を除外します。

それがあなたを助けることを願っています。

于 2013-02-16T07:41:51.897 に答える
0

このエラーも発生しました。最終的に、これらの値を設定することで修正されました。

String SOAP_ACTION = "BookTypeService";

String METHOD_NAME = "bookType";

String NAMESPACE = "http://192.168.1.3:8080/MyWebService/services/";

String URL = "http://192.168.1.3:8080/MyWebService/services/BookTypeService";

ここで、192.168.1.3 は私のローカル I/P です。

<wsdl:service name="BookTypeServiceService">
<wsdl:port name="BookTypeService" binding="impl:BookTypeServiceSoapBinding">
<wsdlsoap:address location="http://localhost:8080/MyWebService/services/BookTypeService"/>
</wsdl:port>
</wsdl:service>
于 2016-02-29T01:41:59.217 に答える