2017-08-17 11 views
0

私が使用しています「IBM、私はそのような、それは私のレスポンスボディにデフォルトNS1を与える任意の名前空間、宣言していません.When統合バスIBM JAVAノード変更デフォルトの名前空間接頭辞(NS1)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Body> 
    <NS1:AvansEditResponse xmlns:NS1="http://Elma.sample.az"> 
    <Result>  
     <Error> 
      <Exists>true</Exists> 
      <ECode>E005</ECode> 
      <EMessage>Avans editing error!</EMessage> 
     </Error> 
    </Result> 
    </NS1:AvansEditResponse> 

JAVAノードコード:私は変更したい

MbOutputTerminal out = getOutputTerminal("out"); 
    MbOutputTerminal alt = getOutputTerminal("alternate"); 

    MbMessage inMessage = inAssembly.getMessage(); 
    MbMessage outMessage = new MbMessage(); 

    MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly, outMessage); 
    MbElement outputBody = outAssembly.getMessage().getRootElement().createElementAsLastChild(MbXMLNSC.PARSER_NAME); 

    OracleCallableStatement ostmt = null; 

    //creating response element 
    MbElement responseMethod = outputBody.createElementAsLastChild(MbElement.TYPE_NAME, "AvansAddResponse", null); 

    responseMethod.createElementAsLastChild(MbXMLNS.NAMESPACE_DECL, "e" ,Constants.ELMA_NAMESPACE); 

    MbElement responseResult = responseMethod.createElementAsLastChild(MbElement.TYPE_NAME, "Result", null); 

"NS1を:" を "E:"。私はそれをどのようにすることができますか?

答えて

0

最後に、解決策が見つかりました。プレフィックスには次のコードを追加できます:

MbElement vasDecl = response.createElementAsLastChild(MbXMLNSC.NAMESPACE_DECLARATION, "e", Constants.ELMA_NAMESPACE); 
    vasDecl.setNamespace("xmlns"); 
    response.setNamespace(Constants.ELMA_NAMESPACE); 
関連する問題