2

問題は、文字列が数字1で始まるときに.netシリアライザーが数字を置き換えて「_ x0031_」を配置することです。

var client = new wsProcesa();
var transito = new sv.test.registrarTest{
  NO_Test = "SV000001"
  NO_Licencia = "110110000034"
} ;
client.procesa(transito);

Java 側で xml をチェックするとき、または受け取った registrarTest クラスをシリアル化するとき

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<registrarTest>
  <NO_Test>SV000001</NO_Test>
  <NO_Licencia>_x0031_10110000034</NO_Licencia> 
</registrarTest>
4

1 に答える 1

1

フィールドが DataType = "NCName" としてマークされていたため、生成されたクラスに問題がありました。

生成されたクラスのタグを削除し、現在は機能しており、Java 側の xsd のタグを削除します

于 2012-11-09T18:37:48.227 に答える