3

Webサービスを公開するアプリケーションを開発しました。そのアプリケーションはweblogic12cにデプロイされ、Javaクライアントを実行するとJavaWebクライアントからWebサービスを呼び出します。この例外がスローされます。

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: EJB Exception: ; nested exception is: 
    javax.persistence.PersistenceException: Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Cannot acquire data source [sqlServer].
Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'sqlServer'. Resolved ''; remaining name 'sqlServer'
    at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at $Proxy34.loginService(Unknown Source)
    at main.Main.loginService(Main.java:32)
    at main.Main.main(Main.java:22)

Weblogic 12cの管理コンソールでjdbcリソースを構成し、JNDIの名前はsqlServerです...アプリケーションには永続性ユニットのxmlファイルがあります。これは次のとおりです。

<persistence-unit name="BancaSimulacionIBancariaPU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>sqlServer</jta-data-source>
    <class>entities.Account</class>
    <class>entities.Bank</class>
    <class>entities.BeneficiaryBankItself</class>
    <class>entities.BeneficiaryThird</class>
    <class>entities.CreditCard</class>
    <class>entities.Movement</class>
    <class>entities.RuleType</class>
    <class>entities.ServiceBank</class>
    <class>entities.TransactionRule</class>
    <class>entities.UserApplication</class>
    <class>entities.Money</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://servertb:1433;databaseName=BancaSimulacion"/>
      <property name="javax.persistence.jdbc.password" value="(*******)"/>
      <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
      <property name="javax.persistence.jdbc.user" value="sa"/>
    </properties>

ドライバーsqljdbc4.jarwl_server/libフォルダーに入れて構成します...同じフォルダー内のforcommEnv.cmdを置き換えます...64sqljdbc.dllsqljdbc.dllwl_server/lib

しかし、データベースとの接続に適切な設定がどれかわかりません...データベースをテストして正しいです...問題は何ですか?

4

1 に答える 1

0

データ ソースにターゲット セットがあることを確認してください。そうしないと、WebLogic がそれを認識できず、厄介な JNDI (NameNotFoundException) エラーがスローされます。

基本的に、WebLogic がデータ ソース接続を受け入れて使用するには、データ ソース接続が 100% 正しく機能している必要があります。これには、有効なターゲット セットがあることの確認も含まれます。

于 2013-07-19T19:53:53.703 に答える