标签: websphere

WebSpere网络部署中的所谓节点

在使用Network Deployment的WebSphere Application Server安装中,节点是:

  1. 一台物理机器
  2. 操作系统的一个实例
  3. 一组逻辑WAS实例,独立于物理机或OS实例

deployment websphere cluster-computing

14
推荐指数
2
解决办法
1万
查看次数

JSF 2.0可以与Websphere应用程序服务器版本7.x一起使用

JSF 2.0可以与WebSphere Application Server V7.x一起使用吗?

如果是这样,怎么样?

java websphere jsf websphere-7 jsf-2

14
推荐指数
2
解决办法
2万
查看次数

如何从Eclipse中的Dynamic Web Project构建EAR文件?

我正在考虑将我在Eclipse中编写的Web服务部署到EAR文件中.我可以将它作为WAR导出并在Tomcat上将其部署在所有精细和花花公子上,但最终产品不会在Tomcat上,也不会是WAR文件.我需要使用Websphere作为服务器,我可以访问并可以部署有效的EAR文件......如果我有一个要部署的EAR文件.

长话短说,如何从Eclipse中的Dynamic Web Project导出EAR文件?

java eclipse ear websphere

14
推荐指数
1
解决办法
5万
查看次数

Java EE应用程序范围的变量在集群环境(Websphere)中?

在Java EE应用程序(在Websphere上运行)中是否有任何简单的方法可以在整个集群中的应用程序范围内共享对象?某些东西可能类似于Servlet Context参数,但它在整个集群中共享.

例如,在服务器"A"和"B"的集群中,如果在服务器A上设置了值(key = value),则该值应该立即(或几乎如此)对服务器B上的请求可用.

(注意:如果可能,请避免使用分布式缓存解决方案.这实际上不是缓存方案,因为存储的对象是相当动态的)

java websphere cluster-computing java-ee

14
推荐指数
1
解决办法
3957
查看次数

如何在WebSphere上为远程EJB调用启用Kerberos身份验证?

由于经典的JNDI查找和RMI-IIOP方法调用,我的应用程序是一个独立的Swing客户端调用EJB无状态会话bean.它作为Java WebStart应用程序启动.我的目标是从获取客户端用户的身份EJBContextgetCallerPrincipal感谢的Kerberos SSO在Windows工作站,ActiveDirectory中和在Linux上运行的WebSphere服务器之间的方法.

由于信息中心文档,我已经在网络部署模式下成功配置了我的WebSphere单元以支持Kerberos身份验证.

这两个krb5.confkrb5.keytab文件都OK,并在Linux测试kinit,klist并且wsadmin,$AdminTask validateKrbConfig解答true.

客户端安装不只是指JAAS login.config文件,以实现与指挥系统属性.我的直觉告诉我这可能还不够.

但现在,我找不到更多信息来完成测试用例:

  • 如何设置JNDI初始上下文环境以触发Kerberos协商?
  • 如果服务器端有其他要求,比如用角色保护我的EJB(例如JBoss不需要它)?

更新

由于没有运行JavaEE客户端容器./launchClient,我在JNLP中设置了要读取的必需属性sas.client.props和JAAS登录配置:

<property name="java.security.auth.login.config" value="C:\temp\wsjaas_client.config"/>
<property name="com.ibm.CORBA.ConfigURL" value="C:\temp\sas.client.props"/>
Run Code Online (Sandbox Code Playgroud)

wsjaas_client.config是针对Oracle Java的,因此它包含:

WSKRB5Login{
    com.sun.security.auth.module.Krb5LoginModule required
       debug=true useTicketCache=true doNotPrompt=true;
};
Run Code Online (Sandbox Code Playgroud)

我的sas.client.props包含:

com.ibm.CORBA.securityEnabled=true
com.ibm.CORBA.authenticationTarget=KRB5
com.ibm.CORBA.loginSource=krb5Ccache
com.ibm.CORBA.loginUserid=
com.ibm.CORBA.loginPassword=
com.ibm.CORBA.krb5CcacheFile=
com.ibm.CORBA.krb5ConfigFile=C:\\temp\\krb5.conf
Run Code Online (Sandbox Code Playgroud)

目前,没有触发Kerberos身份验证:WAS/myserver.mydomain.com我的kerberos缓存(来自Windows或Linux工作站)中的SPN没有TGS,并且仍然匿名建立JNDI连接.

没有错误消息,没有警告,最后没有委托人.我如何诊断错误或缺乏?

更新2012/06/20

这是向前迈出的一步.在我的应用程序JNLP中运行Oracle Java,我已设置以下属性以使用IBM ORB并启用完整的跟踪和调试信息:

<property name="org.omg.CORBA.ORBSingletonClass" value="com.ibm.rmi.corba.ORBSingleton"/>
<property name="org.omg.CORBA.ORBClass" value="com.ibm.CORBA.iiop.ORB"/> …
Run Code Online (Sandbox Code Playgroud)

java websphere ejb kerberos java-ee

14
推荐指数
2
解决办法
4861
查看次数

Log4j突然停止记录

我正在构建一个部署到在Linux上运行的WebSphere Portal Server的Portlet应用程序.每个Portlet WAR使用Log4j进行日志记录,使用这样的配置,每个WAR都有两个日志文件:

log4j.logger.im.the.package=DEBUG, InfoAppender, DebugAppender

log4j.appender.InfoAppender=org.apache.log4j.RollingFileAppender
log4j.appender.InfoAppender.Threshold=INFO
log4j.appender.InfoAppender.File=/tmp/infoWARName.log
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.DebugAppender=org.apache.log4j.RollingFileAppender
log4j.appender.DebugAppender.Threshold=DEBUG
log4j.appender.DebugAppender.File=/tmp/debugWARName.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d %p [%c] - %m%n
Run Code Online (Sandbox Code Playgroud)

部署之后,一切都像魅力和日志文件开始填充.几个小时后,同时,Logging停止info.log并且debug.log根本不更新.我们需要在服务器中重新部署Portlet WAR以重新开始记录.

有任何想法吗?

更新:

我开始怀疑它与我的Logging JARS有关.目前,这是我的WEB-INF/lib文件夹中的JAR :

com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
com.springsource.slf4j.api-1.5.6.jar
slf4j-log4j12-1.5.6.jar
Run Code Online (Sandbox Code Playgroud)

第二次更新:

从赏金到结束的几个小时,这就是每个Portlet应用程序中配置Log4j的方式.这是web.xml:

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:miAppLog4j.properties</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

并且miAppLog4j.properties文件位于WAR外部的文件夹和Portal中.我们通过WebSphere Portal中共享库在 Portlet Classpath中创建了它.

java websphere log4j

14
推荐指数
3
解决办法
2万
查看次数

WebSphere:JNDI上下文查找失败

我有以下......

Context aContext = = new InitialContext(settings);
aContext.lookup("java:comp/env/DB2_DB");
Run Code Online (Sandbox Code Playgroud)

还试过......

aContext.lookup("DB2_DB");
Run Code Online (Sandbox Code Playgroud)

web.xml中

<resource-ref>
    <description>
    </description>
    <res-ref-name>DB2_DB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    <mapped-name>DB2_DB</mapped-name>
</resource-ref>
Run Code Online (Sandbox Code Playgroud)

然后在我的ibm-web-bnd.xml中......

<resource-ref name="DB2_DB" binding-name="jdbc/DB2DB" />
Run Code Online (Sandbox Code Playgroud)

在Websphere中,我在资源> JDBC>数据源中看到绑定名称

但是当我运行我的应用程序时,我看到......

引发者:javax.naming.NameNotFoundException:上下文:Node04Cell/nodes/Node04/servers/server1,name:DB2_DB:找不到名称DB2_DB中的第一个组件.[root例外是org.omg.CosNaming.NamingContextPackage.NotFound:IDL:omg.org/CosNaming/NamingContext/NotFound:1.0] ^ M

这是WAS6-8.5的一个港口项目

websphere

13
推荐指数
1
解决办法
6万
查看次数

意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors参数必须为非空

枝,

我编写了一个连接到Salesforce并更新其中的值的java代码,当我从本地系统作为独立的Java应用程序运行它时,它运行良好,但我的主要目标是将其作为filenet BPM中java组件工作流,所以当工作流进程到达这个java组件时,它会抛出一个错误作为标题

整个堆栈堆栈跟踪如下

com.sforce.ws.ConnectionException: Failed to send request to https://login.salesforce.com/services/Soap/c/24.0/0DF90000000PX8r
    at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:129)
    at com.sforce.soap.enterprise.EnterpriseConnection.login(EnterpriseConnection.java:1052)
    at com.sforce.soap.enterprise.EnterpriseConnection.<init>(EnterpriseConnection.java:399)
    at salesforceupdate.SalesForceUpdate.main(SalesForceUpdate.java:70)
    at salesforceupdate.Callin.UpdateSL(Callin.java:19)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at filenet.vw.integrator.adaptors.java.VWJavaAdaptor.execute(VWJavaAdaptor.java:426)
    at filenet.vw.integrator.base.VWAdaptorEx$AdaptorAction.run(VWAdaptorEx.java:120)
    at java.security.AccessController.doPrivileged(AccessController.java:284)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:727)
    at filenet.vw.integrator.base.VWAdaptorEx.run(VWAdaptorEx.java:360)
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at com.ibm.jsse2.n.a(n.java:42)
    at com.ibm.jsse2.tc.a(tc.java:96)
    at com.ibm.jsse2.tc.a(tc.java:340)
    at com.ibm.jsse2.tc.a(tc.java:555)
    at com.ibm.jsse2.tc.a(tc.java:510)
    at com.ibm.jsse2.tc.startHandshake(tc.java:381)
    at com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:151)
    at com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:64)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1024) …
Run Code Online (Sandbox Code Playgroud)

java websphere salesforce

13
推荐指数
1
解决办法
2万
查看次数

在Websphere Commerce 7中,如何以正确的方式从SEO URL中删除语言和商店名称?

目前我正在工作的客户正在使用此处概述的SEO友好网址:

https://www.ibm.com/support/knowledgecenter/en/SSZLC2_8.0.0/com.ibm.commerce.seositemap.doc/concepts/csdSEOURLconstruction.htm

但是,他们希望/en/clientstorename从所有网址中删除.例如,当用户导航到www.clientwebsite.com时,该URL会自动切换到www.clientwebsite.com/en/clientstorename.我想删除/en/clientstorename网址上的网址以及网站上的所有其他网址.

客户还告诉我,IHS更改不是解决此问题的可能方法.

所以,据我所知,这使得我可以直接从每个SEOURLPatterns xml文件中的所有条目中删除/ LanguageToken/StoreToken:CatalogToken部分.也就是说,我的想法是在工作区中的所有SEOURLPatterns xml文件中进行此更改. (注意注释掉的现有行和我未注释的修改行)

<seourl:seoUrlPatternDef name="PersonalizedProductURLPIPPage">
<!--<seourl:seoUrlPattern viewName="ThirdPartyVendorProductsDisplayView">/LanguageToken/StoreToken:CatalogToken/ProductToken/PCPToken/BeginIndexToken/ioZoneToken</seourl:seoUrlPattern>-->
    <seourl:seoUrlPattern viewName="ThirdPartyVendorProductsDisplayView">/ProductToken/PCPToken/BeginIndexToken/ioZoneToken</seourl:seoUrlPattern> 
    <seourl:urlToParamMapping>
        <seourl:mapping name="langId" value="?LanguageToken?"/>
        <seourl:mapping name="storeId" value="?StoreToken?"/>
        <seourl:mapping name="catalogId" value="?CatalogToken?"/>
        <seourl:mapping name="productId" value="?ProductToken?"/>
        <seourl:mapping name="plchldr" value="?PCPToken?"/>
        <seourl:mapping name="mfname" value="?BeginIndexToken?" />
        <seourl:mapping name="styleId" value="?ioZoneToken?" />
        <seourl:mapping name="errorViewName" value="ProductDisplayErrorView"/>
    </seourl:urlToParamMapping>
    <seourl:paramToUrlMapping>
        <seourl:mapping name="LanguageToken" value="?langId?" defaultValue="-1"/>
        <seourl:mapping name="StoreToken" value="?storeId?"/>
        <seourl:mapping name="CatalogToken" value="?catalogId?"/>
        <seourl:mapping name="ProductToken" value="?productId?"/>
        <seourl:mapping name="PCPToken" value="?plchldr?"/>
        <seourl:mapping name="BeginIndexToken" value="?mfname?"/>
        <seourl:mapping name="ioZoneToken" value="?styleId?"/>
    </seourl:paramToUrlMapping>
    <seourl:usageDef>
        <seourl:usage device="browser">
            <seourl:target>CatalogEntry</seourl:target>
        </seourl:usage>
    </seourl:usageDef>
</seourl:seoUrlPatternDef>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我确实看到生成的URL现在已经遗漏了/en/clientstorename …

java url websphere seo websphere-7

13
推荐指数
1
解决办法
196
查看次数

JDBC SQL Server:未为参数编号设置该值

我从从java代码调用存储过程的代码中收到以下错误:

Exception Trace {} org.springframework.jdbc.UncategorizedSQLException:CallableStatementCallback; 未分类SQL的SQLException [{call test.usp_xxx_GetCompanyDetails(?,?,?,?,?,,?,,?,?,?,?,?)}]; SQL状态[null]; 错误代码[0]; 没有为参数编号11设置该值.嵌套异常是com.microsoft.sqlserver.jdbc.SQLServerException:未在org.springframework.jdbc的org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)中为参数编号11设置该值. support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1095)在org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1131)

该应用程序部署在WAS 8.5.5上并使用jdbc驱动程序版本4.2.重新启动服务器时,此问题不再发生.生成的以下调用语句看起来不正确.连续逗号没有?它们之间.

{call test.usp_xxx_GetCompanyDetails(?,?,?,?,?,,?,,?,?,?,?,?)}

存储过程有10个参数.以下是存储过程的定义:

CREATE PROCEDURE [test].[usp_xxx_GetCompanyDetails]
(
    @ANumber        int,
    @CompanyId      int,
    @UserRole       varchar(15),
    @RequestId      varchar(100),
    @CompanyCode    varchar(5),
    @BaseSystem     varchar(5),
    @PType          varchar(20),    
    @PId            varchar(40),
    @IsActive       bit,     
    @responseData   xml OUT
)
Run Code Online (Sandbox Code Playgroud)

以下是调用存储过程的java代码.它使用spring数据进行调用.

 private String executeProc(Integer aNumber,Integer companyId, String baseSystem, 
                String role,String companyCode,String requestId, String pType,String pId,
                boolean isActive ) throws SQLException {

            SQLXML responseData=null;
            Map<String,Object> inputParams= new HashMap<>();
            inputParams.put("ANumber", aNumber);
            inputParams.put("CompanyId", companyId);
            inputParams.put("UserRole", role);
            inputParams.put("RequestId", requestId);
            inputParams.put("CompanyCode", companyCode); …
Run Code Online (Sandbox Code Playgroud)

java sql-server websphere jdbc sql-server-2012

13
推荐指数
1
解决办法
1355
查看次数