YahooのWebサービスに接続しようとしています。axis2でクラスを生成しました。私が今直面している問題は、Webサービスがヘッダーに特定のキーと値のペアを必要としていることですが、そうすることは絶対にできません。私はウェブを検索し、さまざまな可能性を見つけました-それらのどれも私のために働きませんでした。最も有望なのは、このページのほぼ最後にある投稿で、生成されたスタブのコードを変更するようにクロード・コーロンブが提案しましたが、これも失敗しました。誰かがこの問題を解決する方法を教えてもらえますか?
編集
オプションを使用する提案された方法では、次の例外が発生しました。
Exception in thread "main" org.apache.axis2.AxisFault: Address information does not exist in the Endpoint Reference (EPR).The system cannot infer the transport mechanism.
これが私のコードです:
val stub = new IndexToolsApiServiceStub("https://api.web.analytics.yahoo.com/IndexTools/services/IndexToolsApiV3")
val client = stub._getServiceClient
val options = new Options
val list = new ArrayList[Header]()
val header = new Header
header.setName("YWA_API_TOKEN")
header.setValue("NOTtheREALvalue")
list.add(header)
options.setProperty(HTTPConstants.HTTP_HEADERS, list)
client.setOptions(options)
stub._setServiceClient(client)