我们想为wso2 carbon编写自己的自定义扩展(功能).是否有一些创作功能的文档?
我们确实设法"破解"我们编写自定义功能的方式.但我们如何主持它呢?看来Carbon正在研究一些非常具体的存储库描述符 - artifacts.jar和content.jar
如何在不加入Carbon构建的情况下生成这些描述符.是否有一些文档描述如何设置第三方功能存储库?
我是WSO2 ESB的新手,想尝试一些外部集成.我安装了WSO2 Carbon 4.2服务器并安装了ESB功能4.8.1.重启后,我收到如下错误.任何提示或建议将被感激地接受.
谢谢.
[2014-03-06 10:01:08,521] INFO {org.wso2.carbon.mediation.initializer.ServiceBusInitializer} - Initializing Apache Synapse...
[2014-03-06 10:01:08,525] FATAL {org.wso2.carbon.mediation.initializer.ServiceBusInitializer} - Couldn't initialize the ESB...
org.apache.synapse.SynapseException: The synapse.xml location ././
./repository/deployment/server/synapse-configs
/default doesn't exist
at org.apache.synapse.SynapseControllerFactory.handleFatal(SynapseControllerFactory.java:121)
at org.apache.synapse.SynapseControllerFactory.validatePath(SynapseControllerFactory.java:113)
at org.apache.synapse.SynapseControllerFactory.validate(SynapseControllerFactory.java:88)
at org.apache.synapse.SynapseControllerFactory.createSynapseController(SynapseControllerFactory.java:44)
at org.apache.synapse.ServerManager.init(ServerManager.java:102)
at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.initESB(ServiceBusInitializer.java:423)
at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:182)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
...
...
...
[2014-03-06 10:01:08,531] INFO {org.wso2.carbon.rule.kernel.internal.ds.RuleEngineConfigDS} - Successfully registered the Rule Config service
[2014-03-06 10:01:08,553] ERROR {org.wso2.carbon.security.internal.SecurityMgtServiceComponent} - Failed to activate SecurityMgtServiceComponent
org.apache.axis2.phaseresolver.PhaseException: Did not …Run Code Online (Sandbox Code Playgroud) 我正在使用wso2esb 4.7.0和wso2dss 3.0.0 ..我在wso2dss中编写了一个查询.它在dss中正常工作.另外,但是当我希望在序列介体中使用wso2esb时,它会显示如上所述的错误
ERROR - RelayUtils Error while building Passthrough stream
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
at org.apache.axiom.om.impl.AbstractOMMetaFactory.createStAXSOAPModelBuilder(AbstractOMMetaFactory.java:73)
at org.apache.axiom.om.impl.AbstractOMMetaFactory.createSOAPModelBuilder(AbstractOMMetaFactory.java:79)
at org.apache.axiom.om.OMXMLBuilderFactory.createSOAPModelBuilder(OMXMLBuilderFactory.java:196)
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:55)
at org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:118)
at org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:116)
at org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:91)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:62)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:232)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:443)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:222)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0] …Run Code Online (Sandbox Code Playgroud) 我试图在wso2框架中通过TCP发送消息.我在日志中收到此异常:
[2015-08-20 12:21:50,098] ERROR - TCPWorker Error while processing TCP request through the Axis2 engine
java.lang.NullPointerException
at org.wso2.carbon.tenant.dispatcher.MultitenantDispatcher.findService(MultitenantDispatcher.java:47)
at org.apache.axis2.engine.AbstractDispatcher.invoke(AbstractDispatcher.java:94)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
at org.apache.axis2.transport.tcp.TCPWorker.run(TCPWorker.java:68)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
以下是启动TCP的axis2 conf:
<transportReceiver name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver"/>
<transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportListener">
<parameter name="transport.tcp.port">6060</parameter>
</transportReceiver>
Run Code Online (Sandbox Code Playgroud)
和wso2.xml:
<definitions xmlns="http://ws.apache.org/ns/synapse">
<sequence name="fault">
<makefault>
<code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
<reason value="Mediation failed."/>
</makefault>
<send/>
</sequence>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="TCPProxy"
transports="https,http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<log level="full"/>
</inSequence>
<outSequence>
<send/> …Run Code Online (Sandbox Code Playgroud) 我正在运行WSO2 IS 5.0.0。我将IS 5.0.0的SP以及为该版本的Identity Server和Carbon 4.2.0发行的所有其他安全补丁一起应用了。我的环境由4台正在创建集群的计算机组成(使用WKA成员身份方案和带有粘性会话的Load Balancer)。我正在使用MySQL(不是默认的H2数据库)。部署IS的计算机是Windows Server 2012 R2(EC2 AWS计算机)。PRODUCT_HOME / repository / conf / identity.xml具有以下配置:
<JDBCPersistenceManager>
<DataSource>
<Name>jdbc/WSO2CarbonDB</Name>
</DataSource>
<SessionDataPersist>
<Enable>true</Enable>
<RememberMePeriod>20060</RememberMePeriod>
<CleanUp>
<Enable>true</Enable>
<Period>1440</Period>
<TimeOut>20160</TimeOut>
</CleanUp>
<Temporary>false</Temporary>
</SessionDataPersist>
</JDBCPersistenceManager>
<SessionContextCache>
<Enable>true</Enable>
<Capacity>100000</Capacity>
</SessionContextCache>
<OAuth>
<AuthorizationCodeDefaultValidityPeriod>300</AuthorizationCodeDefaultValidityPeriod>
<AccessTokenDefaultValidityPeriod>1800</AccessTokenDefaultValidityPeriod>
<UserAccessTokenDefaultValidityPeriod>1800</UserAccessTokenDefaultValidityPeriod>
<RefreshTokenValidityPeriod>31540000</RefreshTokenValidityPeriod>
<TimestampSkew>10</TimestampSkew>
<EnableOAuthCache>false</EnableOAuthCache>
<RenewRefreshTokenForRefreshGrant>true</RenewRefreshTokenForRefreshGrant>
</OAuth>
Run Code Online (Sandbox Code Playgroud)
有时,我在Identity Server控制台日志中收到以下错误(使用client_credentials授予类型和openid范围颁发访问令牌时):
ERROR {org.wso2.carbon.identity.openidconnect.DefaultIDTokenBuilder} - Error occurred while getting access token based information
ERROR {org.wso2.carbon.identity.oauth2.OAuth2Service} - Error when issuing the access token.
org.wso2.carbon.identity.oauth2.IdentityOAuth2Exception: Error occurred while getting access token based information
at org.wso2.carbon.identity.openidconnect.DefaultIDTokenBuilder.getAccessTokenIssuedTime(DefaultIDTokenBuilder.java:348)
at org.wso2.carbon.identity.openidconnect.DefaultIDTokenBuilder.buildIDToken(DefaultIDTokenBuilder.java:141) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在ESB中编写一个序列,并使用有效负载工厂填充我的有效负载数据,如下所述.
<payloadFactory>
<format>
<p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org">
<in xmlns="">$1</in>
</p:echoInt>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="an-xml-formatted-string"/>
</args>
</payloadFactory>
<send>
<endpoint>
<address uri="http://noon101:8280/services/echo" format="soap11"/>
</endpoint>
</send>
Run Code Online (Sandbox Code Playgroud)
因为当我将此有效负载发送到服务时,我的字符串被格式化为xml,服务尝试解析我的xml参数并且(我不明白究竟是什么原因)我的Web服务方法未被调用.在这个链接中,它说如果我使用cdata而不是解析器不会解析我的xml格式的字符串,那将没有问题.
但问题是Payload Factory介体在其内容中不接受Cdata.当我编写Payload Factory的配置时,如下所示,它从中删除CDATA关键字,问题在于.
<payloadFactory>
<format>
<p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org">
<in xmlns=""> <![CDATA[ $1 ]]> </in>
</p:echoInt>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="an-xml-formatted-string"/>
</args>
</payloadFactory>
Run Code Online (Sandbox Code Playgroud)
这个问题的解决方案是什么?任何其他设置有效载荷或任何变通方法的调解员将不胜感激.
我使用了用于WSO2 Gov Registry 4.6.0的开箱即用的H2嵌入式数据库,并在那里添加了许多条目.我试图查看数据库中的表中的数据,但不知何故看不到表.
我登录了嵌入式H2数据库,但只看到系统表,没有我添加到注册表的表或数据.
如何访问数据库中的REG_*和UM_*表以查看数据?
我试图在H2 db浏览器和DBVisualizer中查看表,但无法在两者中看到表和数据.
错误日志:
[2014-11-22 16:32:57,972] INFO {org.wso2.carbon.h2.osgi.console.ConsoleService} - 启动H2 Web服务器... [2014-11-22 16:32:58,191] INFO { org.wso2.carbon.h2.osgi.console.ConsoleService} - 启动H2 TCP服务器... org.h2.server.TcpServerThread@65fe28a7 Connect [2014-11-22 16:32:58,193] INFO {org.wso2. carbon.h2.osgi.console.ConsoleService} - 启动H2 PG服务器...连接断开关闭javax.net.ssl.SSLException:连接已关闭:javax.net.ssl.SSLException:在com.sun握手期间收到close_notify com.sun.net.ssl上的com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1355)中的.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1343) .internal.ssl.AppOutputStream.write(AppOutputStream.java:44)位于java.io.BuredOutputStream.flush(BufferedOutputStream.java:12)的java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65). DataOutputStream.flush(DataOutputStream.java:106)atg.h2.value.Transfer.flush(Tran sfer.java:85)atg.h2.server.TcpServerThread.sendError(TcpServerThread.java:197)atg.h2.server.TcpServerThread.run(TcpServerThread.java:129)at java.lang.Thread.run(Thread) .java:695)引起:javax.net.ssl.SSLException:在com.sun.net上的com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)握手期间收到close_notify. ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747)位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1703)的com.sun.net.ssl.internal. s.sl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1801)位于com.sun.net.ssl.ssl.Sl上的com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1004),位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.在com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:818)的com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.)中的performInitialHandshake(SSLSocketImpl.java:1188). java:75)在java.io.BuedInputStream.fill(BufferedInputStream.java:218)java.io.BufferedInput 位于org.h2.server.TcpServerThread的org.h2.value.Transfer.readInt(Transfer.java:145)的java.io.DataInputStream.readInt(DataInputStream.java:370)中的Stream.read(BufferedInputStream.java:237) .run(TcpServerThread.java:71)... 1 more org.h2.server.TcpServerThread@65fe28a7断开org.h2.server.TcpServerThread@65fe28a7关闭
在v 4.6.0中,我们无法通过UI删除tenats,只能禁用.但是,我发现TenantMgtAdminService soap服务上有一个deleteTenant方法.
我试过调用这个服务,但是我收到了一个错误.从日志中,它具有:
{org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService} - Error deleting tenant with domain: test7.tenant and tenant id: 136. {org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService}
java.lang.NullPointerException
at org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService.deleteTenant(TenantMgtAdminService.java:520)
Run Code Online (Sandbox Code Playgroud)
查看源代码,我认为这可能是一个缺陷,因为空指针异常似乎是由尝试访问第520行周围的"计费服务"引起的.
所以我想知道我是否可以通过这种计费服务不会为空的方式配置我的租户,或者是否有其他解决方法?
谢谢
当有"FAULT"和"max.delivery.attempts"处理配置的次数时,即使这样,过程仍然在"消息处理器打开"的"消息处理器打开"中的"FAULT"标志中继续,而无需再次激活?"消息处理器"DISABLED无法影响JMS队列中新消息的读取.
当我尝试运行WSO2 Dataservices或其他WSO2 Carbon服务器时,我收到以下错误:
$ sudo sh /opt/wso2dataservices-2.6.3/bin/wso2server.sh start
Error: JAVA_HOME is not defined correctly.:
CARBON cannot execute java
Run Code Online (Sandbox Code Playgroud)
然后我检查JAVA_HOME变量:
$ echo $JAVA_HOME
/usr/lib/jvm/jdk1.6.0_35
Run Code Online (Sandbox Code Playgroud)
这是正确的道路.该机器已安装64位64位Oracle Java JDK 1.6和64位Ubuntu Server 12.04.
我非常感谢你的回答.谢谢!