2009-03-17 5 views
2

Axis FrameworkによってWSDLファイルから生成されたクラスがいくつかあります。コンパイラは、パッケージと変数を区別することはできませんようこれらのクラスの一つでは、生成されたメソッドメソッド変数とパッケージ名のJavaネーミングの競合


public com.initechsystems.www.initech7.initechbo.Organization createOrganization(com.initechsystems.www.initech7.initechbo.Organization org) throws java.rmi.RemoteException { 

//(... snip ...) 
_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE); 
//(... snip ...) 
} 

があるメソッドのパラメータに変数名の組織は、パッケージorg.apache.axis.clientと命名の衝突を作成し、 。私はこの方法で変数名orgを変更することでこれを簡単に修正できることを認識していますが、ワークフローを遅くするので、これを避けたいと思います。 WSDLファイルまたは生成されたクラスを変更する以外の方法がありますか?

コンパイラエラー:


D:\projects\java\initechdir\target\generated-sources\axistools\wsdl2java\com\initechsystems\www\initech7\initechws\OrganizationManagement\OrganizationManagementSoapStub.java:[1678,29] cannot find symbol 
symbol : variable apache 
location: class com.initechsystems.www.initech7.initechbo.Organization 
+0

コンパイルエラーのテキストを投稿してください。 –

+0

元の投稿で編集されました。 – simon

+0

これは面白いです(「ハッハッハ」のように、「奇妙な」とは異なります)。私は以前に変数javaやjavaxやorgの名前をつけることはなかったと思います。 –

答えて

2

は、import文を持っているために、その生成されたコードを発生させる方法はありますか?そうすれば、クラスの完全修飾名を持つ必要がなくなります。

だから、あなたは追加できた場合:ファイルへ

import org.apache.axis.client.Call; 

は、あなたのメソッド呼び出しは、単に次のようになります。

_call.setProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE); 

私はAxisはそのかかわらためのオプションを持っているかはわかりません。そうでない場合は、変数の名前を変更することをお勧めします(多分 "組織"へ)。自動生成されたファイルを手動で編集しないようにすることをお勧めします。

+0

それはいい考えですが、私はそれが不可能だと思います - 少なくとも私はそれを行う方法を見つけませんでした.. – simon

関連する問題