1

これは、org.xml.sax.SAXParseException を取得している Web サービスをヒットするために使用している Axis クライアント コードです。行番号: 1; 列番号: 1; コンテンツはプロローグで許可されていません。これは、Soap メッセージを送信するときです。UTF-8 でエンコードされた XML を送信すると、ソケット タイムアウトが発生します。

どちらの例外も呼び出し時に発生します

問題と思われる call.invoke の BOM マーカーを無視できる方法はありますか。

迅速なヘルプをいただければ幸いです..ありがとう

public class WSTestClient { public static void main(String [] args) { try{

    String acordXMLUrl = "C:\\request.xml";

        File xmlFile = new File(acordXMLUrl);

        InputStream in = new FileInputStream(xmlFile);
        Reader reader = new InputStreamReader(in, "UTF-8");
        int c;
        StringBuffer sb = new StringBuffer();
        while ((c = in.read()) != -1)
        sb.append((char) c);
        String acordXML = sb.toString();

        Message msg = new Message(acordXMLUrl);

        SOAPEnvelope se;       

        String endpoint ="https://somewebservice/getme";

    Service  service = new Service();

        Call     call    = (Call) service.createCall();
        call.setTimeout(5000);

        call.setTargetEndpointAddress( new java.net.URL(endpoint) );

        call.setOperationName(new QName("http://soapactionurl","getme"));

        System.out.println("Calling into webservice" );

        String ret="";

        try{
       //ret = (String) call.invoke( new Object[] {acordXML} );

        se =  call.invoke( msg);
        }
        catch (RemoteException e) {

        System.err.println(e.toString());

        }

        System.out.println("Return is:"+ ret);

        }

        catch (Exception e) {

        System.err.println(e.toString());

        }}}
4

0 に答える 0