2016-09-22 19 views
1

GETメソッドを使用してURLに接続する内部サービス(さらにI.S.)を使用するWebサービス(Jax-WS)があります。 I.S.特定のURLに接続し、応答を取得します。返されるデータ(xml形式)は、渡されるパラメーターによって異なる場合があります。 ここに重要なポイントが1つあります!差異は、返されたxmlの構造の違いを意味します。つまり、1つのxmlを取得したパラメータセットと、別のxml(構造が異なる)を取得する別のパラメータセットがあります。私の主な目標は、私のWebサービスを呼び出すクライアントにこの応答を再送信することです(別のジョブが実行されます)。ここでは私のWebサービスは曖昧さとして働いています。 JaxBを使うことができないとすれば、xml構造化された別のデータが得られます(何も共通していません)。 私の質問はどのように解決できますか?どのように私はクライアントに私に来たすべてを再送することはできますか?それをアンマーシャリングしないで。ストリームでそれを行うことは可能ですか?私はInputStreamまたはStringXML文書を返す

@Slf4j 
@WebService(name = CCServiceWS.WS_NAME, 
     serviceName = CCWS.WS_SERVICE_NAME, 
     portName = CCWS.WS_PORT_NAME, 
     targetNamespace = CCWS.WS_NAMESPACE) 
@Logged 
@Component 
public class CCWSImpl implements CCServiceWS { 

    @Autowired 
    CCService ccService; 

    @Override 
    public Object reserve(@XmlElement(required = true) @NotNull String m1, 
                @XmlElement(required = true) @NotNull String m2, 
                @XmlElement(required = true) @NotNull Integer amount) { 
     return ccService.reserve(m1, m2, amount); 
    } 
} 

マイ内部サービス

@Slf4j 
@Component 
public class CCService { 

    @Override 
    public Object reserve(@NotNull String m1, @NotNull String m2, @NotNull Integer amount) { 

      URL url = new URL("http://example.com?a=5&v=56"); 
      HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
      connection.setRequestMethod("GET"); 
      inputStream = connection.getInputStream(); 
      // Here I get input stream   
    } 
} 

答えて

0

なぜあなたはStringとしてそれを送信しないで返されたデータを取得することができるのですか?あなたに何が来ても、あなたはそれをクライアントに送ることができます