Changing data structure in the receiver SOAP adapter

I was wondering whether it is possible to have changing data structure in terms of one receiver SOAP adapter so I could sent data type 1 and 2 to a single XI web service enabled URL and make conditional parsing in terms of the received message ?
I have a receiver SOAP adapter that ideally should be able to receive two different types of messages. But SOAP adapter is fixed to a sigle message interface that naturally has it's data structure set to just one type. I can just create conditions in terms of the data type 1 message that has been defined in the design side.
Is it possible achieve this with just one SOAP receiver adapter?

Henri,
Please go through the note: 856597 (Quesiton NO 9)
-Naveen.

Similar Messages

  • Repeating structure through the receiver file adapter

    I wanted to ask wheter it is possible to create repeating structure through the SAP xi receiver file adapter. What I'm trying to accomplish is this:
    Item1
    Item2
    Item1
    Item2
    (variable number of times).
    I can accomplish the following:
    Item1
    Item1
    Item2
    Item2
    What I could do is have the Item1 and Item2 fields in the same segment in the design time, but this would mean the file adapter would write all the items on a single line instead of two.
    There is no way to define line breaks between the the receiver file adapter field parameters ?
    There is no way to support nested structures in the recordset definition ie. Item1.Item2 ?

    Henri,
    What Vishal means is following:
    Add sequences of the tag <recordset> between pairs of item1, item2:
    <documentName>
       <<b>recordset</b>>
         <item1>
           <field-item1>column-value</field-item1>
           <field-item1>column-value</field-item1>
           <field-item1>column-value</field-item1>
         </item1>
         <item2>
           <field-item2>column-value</field-item2>
           <field-item2>column-value</field-item2>
           <field-item2>column-value</field-item2>
         </item2>
       </<b>recordset</b>>
       <<b>recordset</b>>
         <item1>
           <field-item1>column-value</field-item1>
           <field-item1>column-value</field-item1>
           <field-item1>column-value</field-item1>
         </item1>
         <item2>
           <field-item2>column-value</field-item2>
           <field-item2>column-value</field-item2>
           <field-item2>column-value</field-item2>
         </item2>
       </<b>recordset</b>>
    </documentName>
    A similar problem with header and items is in this thread:
    Repeating structure through the receiver file adapter
    Hope that helps,
    Stefan

  • In what QOS does the receiver SOAP adapter work BE or EO?

    Hi,
    In what QOS does the receiver SOAP adapter work BE or EO?
    My guess is that it is by default EO, if so how do i make it work like synchronous?
    There is no option to set it explicitly.
    Thanks]
    Shakthi

    Siva,
    In receiving adapter you can't set the status. The receiving QOS is set in the pipeline by using the Sender Comm.channel QOS.
    So for example in SOAP to SOAP scenario, if you set the Sender comm.channel as BE, then through out the Pipeline till it reaches the Receiver Comm.channel the QOS will be considered as BE only( Even though you didn't explicitly said to the Receiver comm.channel).
    Hope it helps!
    raj.

  • Error in the Receiver SOAP Adapter

    Hello Experts,
           I am sending an order number by running a report on the ECC 6.0 server to a web service for publishing the information on the web site. The receiver side is configured as Receiver SOAP Adapter . I am getting the following error in the SXMB_MONI Transaction.
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Not enough message parts were received for the operation.
    Kindly let me know to overcome this problem.
    Thanks
    Best Regards
    S Joshi

    Hi Ramesh,
        The message Iam getting in MONI is as follows:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Not enough message parts were received for the operation.
    This is the response for the request that i am sending for order creation. I did checked the fields also it is same and the values of the fields too. they all are correct. Over and above this it was working fine till last week , but suddendly this week I am getting this error.
    Regards

  • Error when setting dynamically the target URL in receiver SOAP Adapter

    Hi,
    I'm setting dynamically (from the mapping) the target URL in the receiver SOAP adapter:
    String url = "http://mosxd30:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=DUM&receiverParty=&receiverService=&interface=SI_OA_CustomInvoiceData&interfaceNamespace=urn:repsol.com:laboratory:firma";
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "TServerLocation");
    conf.put(key, url);
    The receiver adapter fails with:
    "invalid content type for SOAP: TEXT/HTML; HTTP 401 Unauthorized"
    Reading weblogs, etc, the most probable cause for this is a wrong target URL, but then what I did was to set it as a fixed URL in the C.Channel, and it worked, so the URL is fine.
    In the communication channel, I'm using "Configure user authentication", with a user and password, and what I think it's happening is that if I use another different URL dynamically, the channel is ignoring the user authentication settings.
    Any ideas?
    Thanks

    I forgot to say that I've checked the SAP note "FAQ Soap adapter", and it says:
    Q: I get an authorization error "401 Unauthorized" from the adapter's servlet. What went wrong?
               A: The adapter's servlet is protected by default. You must use one of the user names assigned in security role xi_adapter_soap_message for component XISOAPAdapter. Please consult the documentation for Visual Administrator to view and change the security setting.
               The user authentication of the SOAP adapter is not part of the SOAP adapter but of the web container of the J2EE engine. The default authentication setting is defined in the web.xml descriptor file of the SOAP dapter web application. This setting may be modified from Visual Administrator with some restriction. Please refer to the security documentation for the J2EE engine.
               Please note that 710 onwards there is no Visual Administrator instead the Netweaver Administrator is to be used to assign the roles to the user to access the SOAP adater servlet.The user must be assigned one of the following roles SAP_XI_IS_SERV_USER, SAP_XI_APPL_SERV_USER, SAP_XI_DEVELOPER_J2EE, SAP_XI_ADMINISTRATOR_J2EE.
    The target URL is a sender soap adapter (the result of one interface is sent to another one via soap adapter), and it's this one which is complaining because of the authentication I think. But I don't know why it's ignoring the user authentication flag I'm using.

  • WSDL url for sender and receiver SOAP adapter

    Dear Experts,
    I am working on SOAP --> SAP PI --> SAP ECC synchronous scenario. That means I have to create 2 Cc for SOAP i.e. Sender as well as Receiver adapter. I am responsible for creating the Request as well as Response structure in SAP PI. The sender application team is dependent on me to get the WSDL file.
    Please provide the suggestions on the below.
    Sender SOAP adapter.
    1. I will create the WSDL from Sender Aggreement. How to get the url and what is the navigation step? Should I provide the    same url to sender application team to call the service.
    Receiver SOAP adapter:
    2. In the receiver SOAP adapter , Should I have to get the web service parameter of the sender application. As mentioned , I am creating the response structure as well. That means I can not import the WSDL from the sender application. How to get target url in the receiver SOAP Cc.
    I refered to the forum SOAP SENDER - test in soapui but its not clear.
    Regards
    Alice Rebecca
    Edited by: Alice@xi on Dec 20, 2011 5:48 PM

    Dear Bhaskar,
    For synchronous scenario
                                                                Request
    MS Application (SOAP)<--> SAP-PI <--
    > SAP ECC.
                                                                                    Response
    I am creating the Request as well as Response structure in SAP-PI and its agrreement for both
    the ways.
    So for the MS appl team, I will give the WSDL url from the sender agreement to make the request to SAP-ECC.
    Now for receiving the response from SAP ECC, from where I should find the value to enter in the target url of SOAP
    receiver channel.
    1.Should I take the target url value from the MS Application team?
    2.How to know whether  the MS Application or SAP ECC is hosting the web service?
    Regards
    Alice

  • Target url for receiver soap adapter

    Hi everybody
    where will I get the target url to enter in the receiver soap adapter parameters? I got the link from wsdl  under "address location"..But when I open the link from the internet explorer I could see an empty  wsdl 
    <faultstring xml:lang="en">SRT: Wrong Content-Type and empty HTTP-Body received</faultstring>
    thanks
    Ramya

    Hi Ramya,
    When you try opening the URL using web browser, you are not sending any data and hence in response you get an empty message.
    But at the same time, the message shows you that the service corresponding to that URL is invoked, activated and running.
    Give the same URL in your receiver communication channel and try execcuting the scenario, as far as receiver URL is concerned, it should work.
    -Tanaya.

  • More than 10 Authentication Keys in receiver SOAP adapter

    Hi
    My requirement is that I need more than 10 authorization/authentication keys in the receiver SOAP adapter. Is this possible?
    Advanced tab -> Use adapter-specific message attributes -> variable transport binding -> view authorization keys.
    Only 10 entries are provided here. Can I extend this somehow?
    Thanks!
    regards Ole

    Yes..
    These links will help u in it
    Certificate Authentication with SOAP Receiver
    Certificate Authentication with SOAP Receiver

  • Receiver SOAP Adapter logon

    Hi experts!!
    I have to connect with a Web Service that use this fields to logon on it:
    User;
    Password;
    Company;
    Conection Number (always 0).
    How can I handle this if the Receiver SOAP adapter has only user and password to login?
    Points will be given!
    Regards,
    Daniela

    Hi,
    1. If you can create the entire SOAP envelope as an XSD then yes you can use the Graphical Mapping. You would need to manually create the entire SOAP Envelope with the SOAP header, SOAP Body etc as an XSD for both the request and response.
    2. In most cases, option 1 is not possible and hence you need to use either Java or XSL mapping.
    3. Another option would be to use Graphical mapping for the main mapping and then add another mapping in the interface mapping ( java or XSL ) that will now do the addition of the SOAP enevlope to the mapping etc.
    Regards
    Bhavesh

  • Receiver SOAP adapter - User authentication question

    XI experts,
    Here is the scenario - IDOC > XI > SOAP - Ansynchronous call..
    I need your all help to understand the user authentication on the "Receiver SOAP Adapter"... We are using "HTTP" transport protocol.
    I believe, the userid which we entered in the communication channel needs to have proper security on the web server. The Web server URL starts with "http://lsme
    01.xyz.com/...." .
    Question : Is this usrid and password will be encrypted when XI calls this web service?
    If an answer is "NO" then is there anyway we can encrypt it?
    Thanks in advance!
    Points will be given..
    MP

    XI experts,
    I need an answer to the following question....
    The Web server URL starts with "http://lsme01.xyz.com/...." .
    Question : Is this usrid and password will be encrypted when XI calls this web service?
    If an answer is "NO" then is there anyway we can encrypt it?
    Thanks in advance!
    Points will be given..
    MP

  • Receiver SOAP Adapter - Dynamic username & password

    Hi,
    I am working on a scenario where the receiver SOAP adapter will have dynamic user name & password. but the URL remains same. how do we achieve this.
    Thanks,
    Mahesh

    Hi Baskar,
    I have checked all your Replies in SDN related to SOAP Header Creation for Wssec Web Service.
    I am working on a Interface (CRM Proxy to Web Service having wssec) in PI 7.0 SP6. I have created the SOAP Header by using XSLT mapping to pass the username token and password but hardcoding user credentials in the XSLT mapping doesn't sound too neat. And transporting it from D to Q to P is even worse.
    And also i have 2 username and 2 passwords to access to different instances in the same web service. So i have to pass the different Username and Password based on the Instance in SOAP header dynamically using XSLT mapping.
    Therefore i request you help me out on how to pass the Username and password dynamically in the XSLT mapping to Create dynamic SOAP Header to access different instances.
    If possible can you provide step-by-step aproach including XSLT mapping and Code for dynamic SOAP Header creation.
    Thank you very much for your valuable inputs.
    Regards,
    Ajay Kodali.

  • Target URL - Receiver SOAP Adapter

    Hi experts,
    I would like to know if the "Target URL" parameter in the Receiver SOAP Adapter is a case sensitive one.
    Point will be given,
    Tks
    Daniela Machado

    From my experience, I have used the Receive SOAP adapter to contain the URL of the Sender SOAP adapter of XI itself and in these calls the URL was not case sensitive ( the hostname and port are not case sensitive ) but the Business System , Comm Channel Name , Interface Name and Namespace are case sensitive.
    When calling a true webservice, I never paid real importance to the case sensitivity as I used to take the URL from the WSDL provided by the Webservice.
    Though not the answer to your question hope it helps.
    Regards
    Bhavesh

  • Testing a "Receiver SOAP Adapter" - Calling a remote webservice from PI

    Hi ,
    I am trying to call a remote webservice from PI 7.0.
    The WSDL file is successfully imported to PI to create the required message types.
    The "receiver SOAP adapter" is configured as the communication channel.
    I would like to know the ways of testing  the remote webservice from PI 7.0.
    Thank you,
    Panda

    Hello there!
    I think this link should help you
    https://help.sap.com/saphelp_nwpi71/helpdata/en/46/793034608c0ad3e10000000a11466f/frameset.htm
    Thanks and regards,
    Caio Cagnani

  • Send attachment with receiver SOAP adapter

    Dear Guru's,
    We have created a scenario SAP ERP (ABAP Proxy) -> PI 7.0 -> (Webservice) OSB.
    In the ABAP Proxy have we attached a file (jpg). In the SXMB_MONI we see first the file (named attach), and second the MainDocument. It seem's this is the wrong sequence.
    We tried to correct this with AF_Modules/PayloadSwapBean in the receiver SOAP adapeter, but it does not work.
    There are blogs who tells about how to configure the parameters. We did it as follows:
    AF_Modules/PayloadSwapBean swap1
    AF_Modules/PayloadSwapBean swap2
    swap1:  swap.keyName = payload-name
    swap1:  swap.keyValue = attach
    swap2:  swap.keyName = payload-name
    swap2:  swap.keyValue = MainDocument
    In the communication channel audit log the swap is processed succesfully, but we don't see nothing changing in the message sequence.
    Can somebody please help me with this issue?
    Kind regard,
    Jeroen Jung

    Hi Stefan,
    The main thing at this moment is to change the sequence of the payload and attachement. PI puts the attachement first and than the payload and in that sequence the receiver application can't deal with it.
    This is a multipart related message and in the header it refers to the image (image/jpeg) first instead of the payload (application/xml).
    As you can see in the first message we have used PayloadSwap Adapter module in the receiver SOAP Communication Channel to change this sequence and in the Audit Log of the SOAP CC we can see that it does SWAP functionality succesfully but the result is the same and nothing happens.
    Here below you can see the result of a http snapper grabber:
    POST /EnterpriseContentManagement/ProxyServices/PS_EnterpriseContentManagement_v1 HTTP/1.0
    Accept: */*
    Host: localhost:8090
    User-Agent: SAP-Messaging-com.sap.aii.messaging/1.0505
    CallingType: SA
    Content-Type: multipart/related; boundary=SAP_00e371ef-3ca3-11df-9503-001f2966194a_END; type="image/jpeg"; start="payload-9A6BAB4B2FE1273DE10000000A503151 @ sap.com"
    Content-Length: 939196
    SOAPACTION:
    --SAP_00e371ef-3ca3-11df-9503-001f2966194a_END
    content-id: payload-9A6BAB4B2FE1273DE10000000A503151 @ sap.com
    Content-Type: image/jpeg
    *********binary attachment data************
    --SAP_00e371ef-3ca3-11df-9503-001f2966194a_END
    content-id: payload-9B6BAB4B2FE1273DE10000000A503151 @ sap.com
    Content-Type: application/xml
    <?xml version="1.0" encoding="utf-8"?>
    *********XML Message************
    --SAP_00e371ef-3ca3-11df-9503-001f2966194a_END--
    Do you have an idea how we can switch the sequence of payload and the attachment? Or why the SWAP functionality doesn't have any result?
    Kind regards,
    Danke
    Jeroen Jung

  • Need to get the Mail attachment name as it is to the receiver file adapter

    I am doing a Mail to File scenario. I need to get the attachment from the mail and store it on the file server. I am using the PayloadSwap bean in the sender mail adapter. My requirement is to carry forward the attachement name as it is to the receiver file adapter side and store the file with the same name.
    Did any one try doing this? I was looking at developing an adapter module but got struck as I could not find whether the attachement name is stored in the XI payload after it has got swapped using the swap bean.
    Any help would be appreciated.
    VJ

    Oops pressed the send key. Take two.
    This is becoming a damn nightmare. When I run the adapter I am getting ModuleExceptions. Can you pass your eyes over these Java config settings to see what I am doing wrong. Using NWDS CE 7.1 with PI 7.1 both at SP07. All the imports were taken from PI 7.1 after SP07 was applied. The build id of NWDS is
    SAP NetWeaver Developer Studio
    SAP NetWeaver 7.1 Composition Environment SP07 PAT0001
    Build id: 200901152336
    APPLICATION.XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    "http://java.sun.com/dtd/application_1_3.dtd">
    <application>
    <display-name>MailPOP_EAR</display-name>
    <description>EAR description</description>
    <module>
    <ejb>MailPOP_EJB.jar</ejb>
    </module>
    </application>
    APPLICATION-J2EE-ENGINE.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application-j2ee-engine SYSTEM "application-j2ee-engine.dtd">
    <application-j2ee-engine>
    <reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="service">engine.security.facade</reference-target>
    </reference>
    <reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="library">engine.j2ee14.facade</reference-target>
    </reference>
    <reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="service">com.sap.aii.af.svc.facade</reference-target>
    </reference>
    <reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="interface">com.sap.aii.af.ifc.facade</reference-target>
    </reference>
    <reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="library">com.sap.aii.af.lib.facade</reference-target>
    </reference>
    <reference reference-type="hard">
    <reference-target provider-name="sap.com" target-type="library">com.sap.base.technology.facade</reference-target>
    </reference>
    <fail-over-enable mode="disable" />
    </application-j2ee-engine>
    EJB-J2EE-ENGINE.XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-j2ee-engine SYSTEM "ejb-j2ee-engine.dtd">
    <ejb-j2ee-engine>
    <enterprise-beans>
    <enterprise-bean>
    <ejb-name>GetMailAttachment</ejb-name>
    <jndi-name>GetMailAttachment</jndi-name>
    <session-props/>
    </enterprise-bean>
    </enterprise-beans>
    </ejb-j2ee-engine>
    EJB-JAR.XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans
    2.0//EN"
    "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <description>EJB JAR description</description>
    <display-name>EJB JAR</display-name>
    <enterprise-beans>
    <session>
    <ejb-name>GetMailAttachment</ejb-name>
    <home>com.sap.aii.af.lib.mp.module.ModuleHome</home>
    <remote>com.sap.aii.af.lib.mp.module.ModuleRemote</remote>
    <local-home>com.sap.aii.af.lib.mp.module.ModuleLocalHome</local-home>
    <local>com.sap.aii.af.lib.mp.module.ModuleLocal</local>
    <ejb-class>sample.GetMailAttachment</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    SENDER MAIL ADAPTER modules
    1 AF_Modules/PayloadSwapBean Local EB 1
    2 GetMailAttachment Local EB 2
    3 sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local EB 3
    1     swap.keyName          payload-name
    1     swap.keyValue          MailAttachment-1
    RECEIVER FILE MODULES
    1     localejbs/AF_Modules/DynamicConfigurationBean     Local Enterprise Bean     1
    2     localejbs/CallSapAdapter                    Local Enterprise Bean     2
    1     key.0          write http://sap.com/xi/XI/System/File FileName
    1     value.0          message.interface
    VARIABLE FILENAME SUBST WITH ASMA TURNED ON
    fName     message:interface_name
    JAVA SOURCE
    package sample;
    import javax.ejb.CreateException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import com.sap.aii.af.lib.mp.module.Module;
    import com.sap.aii.af.lib.mp.module.ModuleContext;
    import com.sap.aii.af.lib.mp.module.ModuleData;
    import com.sap.aii.af.lib.mp.module.ModuleException;
    import com.sap.engine.interfaces.messaging.api.Message;
    import com.sap.engine.interfaces.messaging.api.MessagePropertyKey;
    import com.sap.engine.interfaces.messaging.api.TextPayload;
    import com.sap.engine.interfaces.messaging.api.XMLPayload;
    import com.sap.aii.af.service.cpa.Channel;
    @ejbHome <{com.sap.aii.af.lib.mp.module.ModuleHome}>
    @ejbLocal <{com.sap.aii.af.lib.mp.module.ModuleLocal}>
    @ejbLocalHome <{com.sap.aii.af.lib.mp.module.ModuleLocalHome}>
    @ejbRemote <{com.sap.aii.af.lib.mp.module.ModuleRemote}>
    @stateless
    <code>GetMailAttachment</code>
    @SuppressWarnings("unused")
    public class GetMailAttachment implements SessionBean, Module {
         private static final long serialVersionUID = 7612238514043673502L;
         private SessionContext myContext;
         private MessagePropertyKey myFileName;
         public void ejbRemove() {
         public void ejbActivate() {
         public void ejbPassivate() {
         public void setSessionContext(SessionContext context) {
              myContext = context;
    @throws CreateException
         public void ejbCreate() throws CreateException {
         public void getMessageProperty(MessagePropertyKey FileName) {
              myFileName = FileName;
    @param moduleContext
               Contains data of the module processor that might be important
               for the module implementation such as current channel ID
    @param inputModuleData
               Contains the input XI message as principal data plus eventual
               set supplemental data
    @return ModuleData Contains the (changed) output XI message. Might be the
            response message if the module is the last in the chain.
    @exception ModuleException
                   Describes the cause of the exception and indicates whether
                   an retry is sensible or not.
         @SuppressWarnings("deprecation")
         public ModuleData process(ModuleContext moduleContext,
                   ModuleData inputModuleData) throws ModuleException {
              try {
                   Message msg = (Message) inputModuleData.getPrincipalData();
                   TextPayload payload = msg.getDocument();
                   String contentType = payload.getContentType();
                   // Content Type could be something like
                   // text/plain;charset="UTF-8";name="file.txt"
                   contentType = contentType.replaceAll("\"", "");
                   int i = contentType.lastIndexOf("=") + 1;
                   String fileName = contentType.substring(i);
                   msg.setMessageProperty(myFileName, fileName);
                   inputModuleData.setPrincipalData(msg);
              } catch (Exception e) {
              return inputModuleData;
    JAVA ERRORS
    2009-02-04 11:41:14     Information     Mail: calling the module processor for channel LMK_Common_Mail_Sender
    2009-02-04 11:41:14     Information     Swap: swapping by payload-name ? MailAttachment-1
    2009-02-04 11:41:14     Information     Swap: successfully swapped
    2009-02-04 11:41:14     Information     Mail: message leaving the adapter (call)
    2009-02-04 11:41:14     Information     The application tries to send an XI message asynchronously using connection AFW.
    2009-02-04 11:41:14     Information     Backward validation is enabled
    2009-02-04 11:41:14     Error     Unable to validate the message with message ID 8702df71-f254-11dd-9b9b-001a64a73518
    2009-02-04 11:41:14     Error     Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Content is not allowed in prolog.
    2009-02-04 11:41:14     Error     Mail: error occured: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Content is not allowed in prolog.
    2009-02-04 11:41:14     Error     Mail: error occured: com.sap.aii.af.lib.mp.module.ModuleException

Maybe you are looking for