これは、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());
}}}