如何在Axway B2Bi中实现java代码(JMC)?

问题描述 投票:0回答:1

我使用 apache poi 和 axway xib libs 编写了一个 java 代码,专注于将 xsl 文件转换为 csv 或 xml。我在 b2bi 中遇到了一个关于实现的问题。

我尝试实现,但我什至无法添加文件,所以我认为问题可能与版本控制和兼容性有关

java data-conversion jmc b2b axway
1个回答
0
投票

我是这样做的。 你应该有2节课。

import com.axway.xib.Activity;
import com.axway.xib.Component;
import com.axway.xib.Context;
import com.axway.xib.Creator;
import com.axway.xib.ProcessingMessage;


public class B2BiTest
extends Component
implements Creator
{
    public void process(Context context, final ProcessingMessage message, final Activity[] nextActivities)
    {
        //Main Code Here
    }
    
}

还有一个 bean 类。

import java.beans.BeanDescriptor;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.beans.SimpleBeanInfo;

    /**
     * Simple test component bean info.
     */
    public class B2BiTestBeanInfo extends SimpleBeanInfo
    {

        /** Bean descriptor */
        private BeanDescriptor beanDescriptor;

        /** Property descriptors */
        private PropertyDescriptor[] propertyDescriptors;

        /**
         * Returns the bean descriptor.
         * @return the bean descriptor
         */
        public BeanDescriptor getBeanDescriptor()
        {
            if (beanDescriptor == null)
            {
                beanDescriptor = new BeanDescriptor(B2BiTest.class);
                beanDescriptor.setName("B2BiTest");
                beanDescriptor.setShortDescription("B2BiTest Description");
            }
            return beanDescriptor;
        }

        /**
         * Returns the properties descriptors.
         * @return the descriptor list
         */
        public PropertyDescriptor[] getPropertyDescriptors()
        {
            try
            {
                if (propertyDescriptors == null)
                {
                    PropertyDescriptor name = new PropertyDescriptor("name", B2BiTest.class);
                    name.setShortDescription("Name");
                    propertyDescriptors = new PropertyDescriptor[] { name };
                }
                return propertyDescriptors;
            }
            catch (IntrospectionException e)
            {
                throw new RuntimeException(e);
            }
        }
    }

导出 jar 并将其粘贴到 /local/java/component

以下是一些要点。

在继续之前,您应该将以下库导入到项目中。

  • integrator-javamodules-developmentkit-api-x.x.x-x.jar
  • integrator-javamodules-developmentkit-runtime-x.x.x-x.jar
  • Commons-beanutils-x.x.x.jar
  • Commons-collections-x.x.jar
  • Commons-lang-x.x.jar
  • Commons-logging-x.x.x.jar

您应该正确命名您的 beaninfo 类。否则无法编译。

  • 示例: 主类名:MyClassName
  • Beaninfo类名应该是:MyClassName+BeanInfo(MyClassNameBeanInfo)

重要通知:在早期开发阶段,我们也遇到了一些问题,但并不知道这一点。 你的清单应该是这样的。

Manifest-Version: 1.0
Main-Class: com.example.mainclassname
Container-Version: 3.7
Component-Version: 1.0

您应该在清单末尾添加一个空行。我不知道具体是什么原因。但最后没有空行就无法工作。

如果有任何问题请告诉我们。

© www.soinside.com 2019 - 2024. All rights reserved.