2012-03-08 3 views
0

Я пытаюсь вызвать свою веб-службу, которую я создал в Google Apple Engine с моего Android. Во время тестирования я получил эту ошибку.
org.xmlpull.v1.XmlPullParserException: ожидаемое START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (положение: START_TAG @ 1: 7 в [email protected])
Пожалуйста, помогите.Веб-сервис - org.xmlpull.v1.XmlPullParserException:

Ниже приведен мой код.

private static final String SOAP_ACTION = "http://example.com/sayHello"; 
    private static final String OPERATION_NAME = "sayHello"; 
    private static final String WSDL_TARGET_NAMESPACE = "http://example.com/"; 
    private static final String SOAP_ADDRESS = "http://mynewcloudcom.appspot.com/hellosoapserver"; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     TextView textView = new TextView(this); 
     SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE, 
       OPERATION_NAME); 
     request.addProperty("arg0","ONE"); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
       SoapEnvelope.VER11); 
     envelope.dotNet = false; 
     envelope.setOutputSoapObject(request); 
     HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS); 
     httpTransport.debug = true; 
     try { 
      httpTransport.call(SOAP_ACTION, envelope); 
      Log.v("TEST", httpTransport.requestDump); 
      Log.v("TEST", httpTransport.responseDump); 
      Object response = envelope.getResponse();  
      textView.setText(response.toString()); 
     } catch (Exception exception) { 
      textView.setText(exception.toString()); 
     } 

Я даже пытаюсь изменить soap_address на WSDL-файл, но по-прежнему та же ошибка.

private static final String SOAP_ADDRESS = "http://mynewcloudcom.appspot.com/GreeterService.wsdl"; 

Файл WSDL

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<definitions targetNamespace="http://example.com/" name="GreeterService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:tns="http://example.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <types> 
    <xsd:schema> 
     <xsd:import namespace="http://example.com/" schemaLocation="GreeterService_schema1.xsd"/> 
    </xsd:schema> 
    </types> 
    <message name="sayHello"> 
    <part name="parameters" element="tns:sayHello"/> 
    </message> 
    <message name="sayHelloResponse"> 
    <part name="parameters" element="tns:sayHelloResponse"/> 
    </message> 
    <message name="sayGoodbye"> 
    <part name="parameters" element="tns:sayGoodbye"/> 
    </message> 
    <message name="sayGoodbyeResponse"> 
    <part name="parameters" element="tns:sayGoodbyeResponse"/> 
    </message> 
    <portType name="Greeter"> 
    <operation name="sayHello"> 
     <input wsam:Action="http://example.com/Greeter/sayHelloRequest" message="tns:sayHello"/> 
     <output wsam:Action="http://example.com/Greeter/sayHelloResponse" message="tns:sayHelloResponse"/> 
    </operation> 
    <operation name="sayGoodbye"> 
     <input wsam:Action="http://example.com/Greeter/sayGoodbyeRequest" message="tns:sayGoodbye"/> 
     <output wsam:Action="http://example.com/Greeter/sayGoodbyeResponse" message="tns:sayGoodbyeResponse"/> 
    </operation> 
    </portType> 
    <binding name="GreeterPortBinding" type="tns:Greeter"> 
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> 
    <operation name="sayHello"> 
     <soap:operation soapAction=""/> 
     <input> 
     <soap:body use="literal"/> 
     </input> 
     <output> 
     <soap:body use="literal"/> 
     </output> 
    </operation> 
    <operation name="sayGoodbye"> 
     <soap:operation soapAction=""/> 
     <input> 
     <soap:body use="literal"/> 
     </input> 
     <output> 
     <soap:body use="literal"/> 
     </output> 
    </operation> 
    </binding> 
    <service name="GreeterService"> 
    <port name="GreeterPort" binding="tns:GreeterPortBinding"> 
     <soap:address location="http://mynewcloudcom.appspot.com/hellosoapserver"/> 
    </port> 
    </service> 
</definitions> 

XSD Файл

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<xs:schema version="1.0" targetNamespace="http://example.com/" xmlns:tns="http://example.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="sayGoodbye" type="tns:sayGoodbye"/> 
    <xs:element name="sayGoodbyeResponse" type="tns:sayGoodbyeResponse"/> 
    <xs:element name="sayHello" type="tns:sayHello"/> 
    <xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/> 
    <xs:complexType name="sayHello"> 
    <xs:sequence> 
     <xs:element name="arg0" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="sayHelloResponse"> 
    <xs:sequence> 
     <xs:element name="return" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="sayGoodbye"> 
    <xs:sequence> 
     <xs:element name="arg0" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="sayGoodbyeResponse"> 
    <xs:sequence> 
     <xs:element name="return" type="xs:string" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:schema> 
+0

Это означает, что XML недействителен. Пожалуйста, покажите нам XML .. –

+0

добавил мой файл wsdl и xsd. –

+0

Не могли бы вы разместить сам xml, мыльный конверт, который вы получите в ответ. –

ответ

0

Спасибо за помощь, ребята. Проблема решена сейчас. Это проблема JDK. Я воссоздаю проект с использованием jdk 1.6 и развернусь в GAE. Теперь он работает нормально. Еще раз спасибо. Какое облегчение ... Возможно ...

Смежные вопросы