Javaサービスが受信するURL、つまり「http://192.168.220.12:5000 」をリクエストする必要があります。
次の文字列を本文として
<?xml version='1.0'?><!DOCTYPE svc_init SYSTEM 'ABCD.DTD'><svc_init ver='3.3.0'><hdr ver='3.3.0'><client><id>xxx</id><pwd>xxx</pwd></client></hdr><aaaa ver='3.3.0'><trans_id>1</trans_id><request_type type='2'/><l_hor_acc type='HIGH'/></aaaa></svc_init>
FirefoxブラウザからRESTClientを使用して正常に実行できます。次の画像を参照してください。
ただし、次のC#コードを介して送信すると、次のエラーが発生します。
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at Creader.run(Creader.java:42)
C#コードは次のとおりです。
xmlData= "<?xml version='1.0'?><!DOCTYPE svc_init SYSTEM 'ABCD.DTD'><svc_init ver='3.3.0'><hdr ver='3.3.0'><client><id>xxx</id><pwd>xxx</pwd></client></hdr><aaaa ver='3.3.0'><trans_id>1</trans_id><request_type type='2'/><l_hor_acc type='HIGH'/></aaaa></svc_init>";
address = "http://192.168.220.12:5000";
using (var client = new WebClient())
{
client.UploadData(address , Encoding.ASCII.GetBytes(xmlData));
}
私はここで何が間違っているのですか?
私もフォローしてみましたが、何もうまくいきませんでした。1)別の方法を使用してxmlDataをbyte[]に変換します。2)Encoding.ASCII.GetBytesの代わりにEncoding.UTF8.GetBytesを使用しました。3)client.UploadData ..の代わりにclient.UploadString(new Uri(mlcAddress)、xmlData)を使用しました。