Solved

User Developed Factory problem when running on FME Server

  • 21 March 2016
  • 3 replies
  • 5 views

Badge

Hi all,

I'm using a custom transformer developed using the C++ plugin SDK. This plugin works without flaws on FME Desktop 2015 and 2016, both in 32 and 64 bits. Now I'm trying to publish the workspace into FME server but I'm unable to make it work in there. 

The error I'm getting is:

CompileDimentions_FMEDotNetLEACCubeProcess(FMEDotNetWrapperFactory): The clause 'OUTPUT OUTPUT FEATURE_TYPE CompileDimentions_FMEDotNetLEACCubeProcess_OUTPUT' within 'FACTORY_DEF * FMEDotNetWrapperFactory FACTORY_NAME CompileDimentions_FMEDotNetLEACCubeProcess INPUT FEATURE_TYPE CompileDimentions_AttributeCreator_3_OUTPUT DOTNET_ASSEMBLY_FILENAME FMEDotNetLEACCubeProcess DOTNET_ASSEMBLY_FILENAME FMEDotNetLEACCubeProcess.dll DOTNET_ASSEMBLY_FACTORY_NAME FMEDotNetLEACCubeProcessFactory SOURCE_FILENAME_LIST_ATTR @EvaluateExpression(FDIV,STRING,Value_source_files,CompileDimentions_FMEDotNetLEACCubeProcess) SOURCE_FIELD_LIST_ATTR @EvaluateExpression(FDIV,STRING,Value_identifiers,CompileDimentions_FMEDotNetLEACCubeProcess) TARGET_FILENAME_ATTR @EvaluateExpression(FDIV,STRING,Valuedest_file,CompileDimentions_FMEDotNetLEACCubeProcess) OUTPUT OUTPUT FEATURE_TYPE CompileDimentions_FMEDotNetLEACCubeProcess_OUTPUT' is incorrect. OUTPUT does not recognize tag 'OUTPUT'

I'm guessing it has to do with the FMX syntax, even though it works fine in Desktop. This is part of the FMX file where I also guess something could be defined wrong.

TEMPLATE_START

 

 

FACTORY_DEF * FMEDotNetWrapperFactory

 

  FACTORY_NAME $(XFORMER_NAME)

 

  $(INPUT_LINES)

 

  DOTNET_ASSEMBLY_FILENAME FMEDotNetLEACCubeProcess DOTNET_ASSEMBLY_FILENAME FMEDotNetLEACCubeProcess.dll

 

  DOTNET_ASSEMBLY_FACTORY_NAME FMEDotNetLEACCubeProcessFactory

 

  SOURCE_FILENAME_LIST_ATTR "$(SOURCE_FILENAME_LIST)"

 

  SOURCE_FIELD_LIST_ATTR "$(SOURCE_FIELD_LIST)"

 

  TARGET_FILENAME_ATTR "$(TARGET_FILENAME)"

 

  OUTPUT OUTPUT FEATURE_TYPE $(OUTPUT_OUTPUT_FTYPE) $(OUTPUT_OUTPUT_FUNCS)

 

 

TEMPLATE_END

Any ideas are welcome :)

icon

Best answer by gainzmik 22 March 2016, 15:20

View original

3 replies

Userlevel 4
Badge +25

I'm sorry Mikel, I've searched for this message throughout our internal systems and there is very little information to go on. I think it would be best if you contacted our support team (via your local reseller if you have one) and they can ask a developer directly.

The only question I would ask is, what platform/operating system are you running FME Server on? Is it any different to the platform running Desktop?

Mark

 

Product Evangelist

 

Safe Software Inc.
Userlevel 4
Badge +13

My hunch is that if this works on desktop, then the issue must be that the factory code itself is not installed or is somehow different on server. The complaint, which is a bit hard to parse, is that the output tag "OUTPUT" (which is the second OUTPUT in your template) is not known. This means that the your FMEDotNetWrapperFactory is not initializing the FME framework with the output tags it expects. Why that would be different on desktop and server could only be related to the code and the initialization of the factory.

Badge

Thanks for your comments Mark and Dale!

It had to do with the location of the FMX/DLL files of the transformer. I had copied it in

<FMEServer-InstallDir>\\resources\\engine\\Transformers

but it seems that for it to properly work, it needs to go under

<FMEServer-InstallDir>\\Server\\fme\\transformers

Reply