aleviera aleviera - 6 months ago 48
Java Question

Sending image through web service returns "premature end of file"

I'm invoking a third party web service that may include attachments.
When I invoke the web service with no attachments there is no problem.

When the invocation contains attachments (images) I get the error org.xml.sax.SAXParseException: premature end of file

I used wireshark to intercept the soap call and this is what I get

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:ENTRADA xmlns:ns2="urn:DefaultNamespace">
<CODIGO>3</CODIGO>
<VALORESENTRADA>
<CLAVE>name</CLAVE>
<VALOR>user</VALOR>
<TIPO>STRING</TIPO>
</VALORESENTRADA>
...
...
...
<ANEXOS>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAHgAoADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8P6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
ff9
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiitHwt4Q8VeONWXQvB/h671K7cZEFnAzsB6nHQe54FBth8PXxdeNChBznJpRjFNtt6JJLVtvZLUzqK9atP2Hf2mLq1+0t4GhiJGRFNqluGP4Bzj8a4z4g/Bj4qfCt1Xx94JvNPjdtqXDKHhY+gkQlCeOmc0ro+gxfBXF+AwjxOJy+tCmk25OnNJJbuWnurzdjmKKK2fh94E8Q/E3xlY+BvC1sJLy/m2Ju+6i9Wdj2VVBY+wpnz1ChXxVeNGjFynJpRik2227JJLVtvRJatmbpml6nrd/HpWjadPd3MzbYbe2iaSSQ+gVQST9K9N0L9iz9pPXrMX0fw/8AsqMMqL6+hic/8ALbh+IFfQl7dfAv9gvwFDDb6f8A2l4iv4ThgFFzfMOrM3Pkwg4wOfoxBNeH+Kv29v2hddvmn0LV7HRYN37uCz0+OTA7ZaYOSfcY+gpJtn7DiOD+AuC4wocVYmrVxjSlKjhuS1JSTaU5S0bas7RlFq6dpQanLC8U/sf/ALRnhKzbUL34cz3MKDLNps8dyw/4BGxf9K82lhlglaCeJkdGKujrgqRwQR2Ne5+BP+CgXxs8PX6f8Jqljr9pkecklstvNj/ZeIBQfqpr1f4ifDH4U/tofDF/ij8
d4a
LEjtvEcKFQ5URu8qjJt7gDgnGNr9sg5K8UXa3FQ4P4E4zp1KXCmIq08ZFOUaGI5F7VJJtU5xdlK13aUm31UYKU18Z0VJeWd3p95Lp99bvDPBI0c0Ui4ZHUkFSD0IIIqOmfj1WlVoVZU6kXGUW001ZprRpp6pp7oKKKKDMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA2Ph94I1r4leNtO8C+H0ButSuVijZvuoOrOfZVBY+wNfYPjnx18Kv2FvhxaeEPBugR3uuX0W5I2O17lhw1zO/ULnOFH+6uACR49/wTu0qzv8A473d7cxhnsfD08tucfdcyxRk/wDfLsPxrl/2ytfv9f8A2kPEAvZGKWUkVrbIScJGka8D6sWb6saXU/aeDsxXBnh3i+I8HBPGVa6w0JtJqnHkVRySa3eqd7q6g2mk1LT1D9vD9pG8v2vLbxJY2kZbItbfS4igHplwzf8Aj1evfs+ftg6R8b7s/CL41+HNPFzqaGK3mWLNten/AJ5PGxO1j2OcE8YBxn4+qbTr+80nUINU064aK4tpllglQ4KOpyrD3BANFkfJZP4m8b5RmNPFrH1anK9YVKkpwkuqcZNrVaXVpK94tPU9M/ax+AsfwK+Igg0QOdE1ZGn0suSTFg4eEk8naSMH+6y5JOa9S/4JteCbSSfxH8RrqENLEItPtHI+6DmSX88Rfr610P7fUdvr/wCz3oHiu4ttlz/a1uyccoJbeUsv5qv/AHyKg/4Jt6lbXPw98S6Cr/vYNWjmfB5CyRbR+sTUuh+x0eGcpyjx3wCwlOKoYiDrwhy6QbpVdk9rTg5xSsoXSilyo+cfj18R774rfFvWfGF1cl4Xu2hsFJ4jtkJWNR6cDJ92J71x9XNf0m70HX77Qr9Cs9ldyQTK3UMjspz+IqnVI/nXPcRj8VnWJrY5WrSqTc1tabk+ZW6Wd1boFe4/sBeP7/wx8b18G+e32LxDaSRSxE/KJYkaWN/qArr/AMDNeHV6j+xfotzrX7Snh8QKSlo89zMw/hVYXwT9WKj8aXQ9PgeriKPGWXSoP3vb0ktbXvNKzfZ7PybNH9ujwZZ+EP2g7y6sYRHFrNlFqGxRwHYtG5/Fo2Y+7GvHa96/4KJ6hbXfxzsbSBwWtfDkEc2OzGad8fkyn8a8Fojse94t0MHhvEXMIYa3K5Rbt/NKEZT+fO5X87hRRRTPzkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA9R/Y4+JGn/AAz+O+n32s3Kw2WpxPp91MxwIxIQUY+g8xUyewJPau9/b4+Buu6Z41f4z6Dp0k+majFGuqPEhP2WdFCBmx0RlC89NwOeoz8419G/AL9uy48J6FF4E+MulT6rp8UYhg1OAB5kjxjZKjECUY/izux1DUrH6jwVxFw9UyHFcMcQN08NWl7WFaMeZ0qqSV3FJycZKKj7uqV46KbnD5yru/2evgh4g+OPxAttCsbOQaZbypJrF7jCQQ55Gf77AEKOueegJH0JN4g/4JteIpj4ivLTSoZSdzxCxvIMHP8AzyRQp/AEVS8a/tx/CT4c+GG8I/s6eDY3cAiGc2P2a0iJ/j2cPI31C+pJ6UXZ7WG4B4EybE/Xc3zujWw0GmqdF81WqtWouMZN076Ju7tquaD95VP+CjHxF0z7Lonwg0uZGkgl/tC+jT/liAhjhU+hIaQ49Np7ivMf2NvjNZfB74tKPEF0ItI1qIWd9Ix+WFt2Y5T7Bsgnsrse1eZeIPEGt+K9cuvEniPU5by+vJjLc3MzZZ2Pf29ABwAABwKp0JWR8nxPx/mWd8bf6w4duDpyj7JPXljB+6n01d5SWzcpLZn0l+27+zXrVh4juvjZ4G05rrTb/EusQ267mtpcczYHVGxkns2SeCK+ba91/Z6/bc8T/CnTIfBnjzTpda0SFQls6OBc2if3VLcSKB0ViMdA2ABXpd340/4J1fEwnW/EGm6dZ3UvzTI9jc2km48kt5ACsfUgn60ldH2ubZfwJ4j155rgcdDAYua5qtGv7tNz0vKNTRau7ejlJ+84xbd/kK3t7i7uEtbSB5ZZHCxxxqWZmJwAAOp9q+yf2SPghF+zz4F1P4xfFlo9Pvrmy3Ok/BsLRfmKt/tuQpK8kbVHUkVBZfHT9hX4Io2pfDfQ7e6v1U+WdM02SSbkHgTXGNo9cN+FeGftB/tWeOvjxJ/Y7RDS9BjkDRaXBIWMpB4eV+N59BgKPTPJerLymhwL4Y1f7TrY2GYY6K/dU6WtKEnzLnlUvaVtLbSje6g3yzhyXxi+Il18WPidq/j+6jZBf3RNvEx5jhUbI1PuEVc++a5qiinsfiePxuJzLHVcZiZc1SpKU5OyV5SbbdlZK7b0WnYKKKKDkCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k=</ANEXOS>
<NOMBRESANEXOS>content</NOMBRESANEXOS>
</ns2:ENTRADA>





I see there are some new lines in the attachment (ANEXOS tag) which I find odd. Using SOAP UI to valide the soap call I get: Invalid value: not encoded properly

I tried exchanging the correct Base64 encoding of the file in the xml with SOAP UI and then it works correctly, thus the problem is how the soap call is being generated.

I use eclipse Mars and generated the web service client with it. The client runs in Wildfly 8. Here is a trimmed version of the wsdl

<?xml version="1.0" encoding="UTF-8"?>
<definitions targetNamespace="urn:DefaultNamespace"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:DefaultNamespace"
xmlns:intf="urn:DefaultNamespace"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema targetNamespace="urn:DefaultNamespace" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="VALORENTRADA">
<sequence><element name="CLAVE" type="xsd:string"/>
<element maxOccurs="unbounded" minOccurs="0" name="VALOR" type="xsd:string"/>
<element name="TIPO" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="DATOSENTRADA">
<sequence>
<element name="CODIGO" type="xsd:string"/>
<element maxOccurs="unbounded" minOccurs="0" name="VALORESENTRADA" nillable="true" type="impl:VALORENTRADA"/>
<element maxOccurs="unbounded" minOccurs="0" name="ANEXOS" nillable="true" type="xsd:base64Binary"/>
<element maxOccurs="unbounded" minOccurs="0" name="NOMBRESANEXOS" type="xsd:string"/>
</sequence>
</complexType>
<element name="ENTRADA" type="impl:DATOSENTRADA"/>
<element name="CREARFORMULARIOReturn" type="impl:DATOSSALIDA"/>
</schema>
</wsdl:types>
<message name="CREARFORMULARIORequest">
<part element="impl:ENTRADA" name="ENTRADA"/>
</message>
<message name="CREARFORMULARIOResponse">
<part element="impl:CREARFORMULARIOReturn" name="CREARFORMULARIOReturn"/>
</message>
<portType name="FormulariosManager">
<operation name="CREARFORMULARIO">
<input message="impl:CREARFORMULARIORequest" name="CREARFORMULARIORequest"/>
<output message="impl:CREARFORMULARIOResponse" name="CREARFORMULARIOResponse"/>
</operation>
</portType>
<binding name="DominoSoapBinding" type="impl:FormulariosManager">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="CREARFORMULARIO">
<wsdlsoap:operation soapAction="CREARFORMULARIO"/>
<input name="CREARFORMULARIORequest"><wsdlsoap:body use="literal"/></input>
<output name="CREARFORMULARIOResponse"><wsdlsoap:body use="literal"/></output>
</operation>
</binding>
<service name="Service">
<port binding="impl:DominoSoapBinding" name="Domino>
<wsdlsoap:address location="http://server/WebServices.nsf/service?OpenWebService"/></port>
</service>
</definitions>


The web service datatype expects a byte array

@XmlElement(name = "ANEXOS", nillable = true)
protected List<byte[]> anexos;


Edit
I tried making my own @XmlJavaTypeAdapter and it made no difference.

I found that the extra bytes "ff9" and "d4a" are there to divide the file. For bigger files there are more extra bytes. And if the file is small enough it doesn't add any, thus it works.

Answer

I ended up generating new stub classes with Axis. This generated a field for the images like this:

private byte[][] ANEXOS;

I don't know why the JbossWS or CXF stubs provoked the error. But Axis worked!