You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Michael Imhof (JIRA)" <ji...@apache.org> on 2007/02/22 09:16:05 UTC

[jira] Updated: (OFBIZ-746) ObjectType does not recognize arrays!!

     [ https://issues.apache.org/jira/browse/OFBIZ-746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Imhof updated OFBIZ-746:
--------------------------------

    Attachment: patch746.txt

> ObjectType does not recognize arrays!!
> --------------------------------------
>
>                 Key: OFBIZ-746
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-746
>             Project: OFBiz (The Open for Business Project)
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: SVN trunk
>         Environment: SUSE Linux 10.1 & MySQL 5.0.18
>            Reporter: Michael Imhof
>         Attachments: patch746.txt
>
>
> We're using ByteArrays (byte[]) in our services:
>     <service name="processImage" engine="simple" default-entity-name="Archivindex"
>         location="ch/nowhow/isgate/archiv/ArchivServices.xml" invoke="processImage" export="true">
>         <attribute name="image" type="byte[]" mode="IN" optional="false"></attribute>
>     </service>
> Sending a SOAP envelope (from the generated WSDL) to the server, ofbiz
> could not find the byte array!!!!
> (Remind that a ByteArray is not supported by OfBiz WSDL!!! We're using Java2WSDL to generate a WSDL)
> Class:
> =====
> ObjectType.java
> Method:
> ======
> public static Class loadInfoClass(String typeName, ClassLoader loader)
> Solution:
> =======
> Adding array support at the beginning of the method:
> public static Class loadInfoClass(String typeName, ClassLoader loader) {
>         // Array support
>         if (typeName.endsWith("[]")) {
>             if (Character.isLowerCase(typeName.charAt(0)) && typeName.indexOf(".") < 0) {
>                 typeName = "[" + typeName.substring(0, 1).toUpperCase();
>             } else {
>                 Class arrayClass = loadInfoClass(typeName.replace("[]", ""), loader);
>                 typeName = "[L" + arrayClass.getName().replace("[]", "") + ";";
>             }
>         }
>         // End array support
>         
>         //Class infoClass = null;
>         try {
>             return ObjectType.loadClass(typeName, loader);
>         } catch (SecurityException se1) {

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.