ADK60 custom adapter connection problem

Hi all,
I have started developing custom adapter (this is in fact Portal Infranet adapter for IS 6) and I have developed the connection part.

When I configure a new connection from wM Administator I get the following error code:

[ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource adapter:infranetConnection.
[ART.118.5036] Adapter Runtime (Connection): Unable to configure connection manager.
iaik.asn1.structures.Name

Can anybody help me with this problem? What is the iaik.asn1.structures.Name error?

Thank in advance.

Janusz

Hi Janusz,
I am also developing a custom adapter for Portal Infranet on IS 6.0.1. I saw this post from you and thought I could get some inputs to the problem that I am facing and help in case you have any problems I might have resolved.

Please reply back if your development is through.

Regards
Preeti

Hi Janusz,
I am also developing a custom adapter for Portal Infranet on IS 6.0.1. I saw this post from you and thought I could get some inputs to the problem that I am facing and help in case you have any problems I might have resolved.

Please reply back if your development is through.

Regards
Preeti

Hi Pretty,

I did develop a POC Portal Infranet adapter. As Proof Of Concept it has not been thorough but I got to the point that proved the adapter working.

What I did was pretty much to develop the IS 6 adapter similar in functionality to the ES Portal Infranet adapter 4.2.1. I mean the adapter supported only inbound transactions, it did not do notifications. Also the adapter had only one template called OpCode, which would enable you to invoke any Portal OPCODE available.
The adapter supported LOCAL_TRANSACTIONS only, which allowed to call 2 opcodes from a flow as a single transaction on the same Infranet instance.

Is it similar to what you are doing? If so, I could help with any issues you might have.

HTH

Hi Janusz,
We are doing something similar to develop portal adapter on ADK framework for Portal Infranet 6.5, on the IS 6.0.1.

This adapter has to implement business functionality like creation of customer, creation of subscription, set customer and set subscription. In some business functionality the adapter has to invoke multiple opcodes in a single transaction. I am using the connection pooling mechanism provided by ADK framework to connect to Portal Infranet server.

I am unable to maintain multiple transactions for example, if i execute create subscription ONCE (it has multiple OpCode invocation and uses the transaction OpCodes provided by Infranet - TransactionOpen, TransactionCommit and TransactionAbort) it is successful. However, if I invoke same service from two different sessions, I get the error “Transaction is already Open”.

Any solution on how to overcome this? Any inputs will be of great help.

Thank You
Preeti

Hi Pretti,
I haven’t seen the error you are describing when I worked with my adapter. To me it looks like there is double transaction management, on one hand you are calling TransactionOpen, etc. and on the other hand the ADK tries to do the same. This is only my guess. To better understand why this happens please tell me

  1. what is the transaction support provided by your adapter. I mean what is the value you are returning from the method queryTransactionSupportLevel() of your class which extends WmManagedConnectionFactory ?
  2. from where are you calling the PortalContext.transactionOpen(), etc. methods? If your adapter has LOCAL_TRANSACTION_SUPPORT then you should call the PortalContext transaction management methods in the begin(), commit() and rollback() methods of your class which implements javax.resource.spi.LocalTransaction interface. Is it what you are doing?

HTH

Hi Janusz,

Thanks for the earlier inputs. We were able to resolve the transaction related problems.
However, there is another problem we are facing.
We are using the execute method of the ADK in the adapter service template.This throws the ResourceException.
Thus we see a Pop box with error description on developer when we execute an adapter service(that invokes the Portal Opcode) with invalid data.
We are able to see the error thrown by Portal in the server console and since the execute method throws Resource Exception, we are unable to see the Portal related error messages in the Pop up Box.

First question is how do we catch the ResourceException to construct an adapter Status Document (so that the pop up box doesnt appear).
Secondly, how do we get the Portal related error information in Resouce Exception.
Thanks,
Preeti

Hi Pretti,
The pop-up box is the right behavior and you should not try to catch the ResourceException to get rid of the pop-up. When you run the adapter normally, not from Developer, the ResourceException will be handled properly by the ADK framework (errors will be logged, etc.).
The issue that you are not getting the Portal error is probably that you are not handling errors properly. One way to see the Portal error message would be to code sth like that in the execute methods.
try {
// do whatever you need
} catch ( com.portal.pcm.EbufException a e ) { //this is the Portal ex
throw your_adapter_class.getInstance().createAdapterException(e);
}

See the tutorial adapter for details. The thing is that you should obtain the Portal error from the EbufException and this information should be passed to the AdapterException.

HTH

Hi all,

I am trying to install ADK 4.6 in the server folder but it says adk installation has already detected a similar installation in hte folder but i am not able to find out the adk folder in server folder.i am getting the same error when i uninstall and reinstall the whole set again.can some one help me to fix the problem

thanks in advance

regards
karthikjayanth