2012-05-02 4 views
1

C++アプリケーションからRallyのSOAPインタフェースを使用しようとしています。したがって、Axis 1.4ツールキットを使用してC++スタブを生成しました。残念なことに、生成されたファイルにはコンパイルエラーが含まれています。私はこれらのエラーを手動で修正し、スタブは今コンパイルされます。それにもかかわらず、私は、コード生成の間にもっと多くのことがうまくいかないという印象を持っています。例えば。Axisツールキットを使用してラリーのSOAPインタフェースのC++スタブを生成する

// create a service object 
RallyServiceService service = new RallyServiceService(); 

// set the service URL 
service.Url = "https://rally1.rallydev.com/slm/webservice/1.32/RallyService"; 

... 

は誰もがこれまでC++からラリーのSOAPインタフェースにアクセスしようとした:それは.NETの例で使用されているように私はRallyServiceServiceというクラスを持っていないのですか?どのように接続を確立するための助けに感謝しています。それはそれ自体が解決策ではないですが

おかげで、 マイケル

答えて

0

は、私は私がサポートケースを経て、マイケルと交換ダイアログをまとめるだろうと思った:

Javaスタブを生成するためにはWSDL2Javaを使用する場合は、あなたが得ますRPCバインディング、ネットワーク接続クラスなどが含まれているため、これらはRallyServiceServiceに関連する4つのクラスです。これらは言語固有です。Axis C++ WSDL2WsツールがRallyServiceServiceクラスを作成できないことは、 RallyServiceService、少なくともJavaは、javax.xml.rpc.Serviceを拡張するために使用されるインタフェースです。 keywoard RallyServiceServiceで定義されたメソッドを実装するRallyServiceSoapBindingクラスの約束を意味しますIMPL

<wsdl:service name="RallyServiceService"> 
    <wsdl:port binding="impl:RallyServiceSoapBinding" name="RallyService"> 
    <wsdlsoap:address location="https://rally1.rallydev.com/slm/webservice/1.31/rallyservice" /> 
    </wsdl:port> 
    </wsdl:service> 

:ラリーWSDLは、インターフェイス定義を示しています。

私はC++に関しては自分のリーグから外れていますが、C++は技術的にはクラスを拡張する方法としてインターフェイスの構造を持っているとは思わない - インターフェイスはもっとJava/C#言語の構造です。これは、Rally WSDLのこの側面がJava/C#固有の実装であるか、少なくともAxis WSDL2Wsツールを使用してC++構造に簡単に変換できないことを意味します。

RallyServiceServiceとそれに関連するクラスのカスタムC++バージョンを作成することは可能かもしれませんが、少し面倒かもしれません。もしあなたがいくつかの成功を収めていれば、同じような機能に興味を持っている他のラリーの顧客がいるかもしれないので、ここで結果を共有してください。

関連する問題