That was a VERY good question.

I did create them the first way. Second way proved to fix the problem.

Of course there's another related issue. I would like to create the
exceptions without additional parameters but if I specify "partless"
exception in my wsdl I hit against wsdl2java bug - exceptions that get
created do not override the "new Exception(message)" constructor... I
haven't investigated that yet so I don't know if someone already pointed
that out.

Neverthless, you helped me greatly. Thank you.

> Quick question...
> 
> On the server side, where you create the fault, are you doing:
> 
> throw new 
> IncorrectProjectIdsException("IncorrectProjectIdsException...");
> 
> or:
> throw new IncorrectProjectIdsException("IncorrectProjectIdsException...",
> "Detail string");
> 
> I think there is an issue if the detail is null.   I'm looking into that 
> now.
> 
> Dan
> 
> 
> 
> On Tuesday 23 October 2007, Piotr PiBis Berlowski wrote:
>> Hi, and thank you for your interest.
>>
>> Regretfully, 2.0.3 does not work either. However, the problem appears
>> to be just a top of an iceberg. To be specific - we are naver able to
>> tell if an exception is gonna work or not. We have not found any rule
>> in that yet. Only rule is that when a wsdl is big, and has lots of
>> operations and lots of exceptions, some of them will not work for
>> sure.
>>
>> I attach the full wsdl, which causes the problem.
>>
>> There is no apparent difference between neither wsdl nor the generated
>> classes for the exceptions that do work and that don't work. We are
>> currently working on catching the soap messages and checking if the
>> problem occurs on the client or on the server side.
>>
>> Best regards,
>> Piotr Berlowski
>>
>>> Any chance you could try the latest 2.0.3 SNAPSHOT?
>>>
>>> I just tried with trunk and this worked fine.
>>>
>>> Server code:
>>>     public void removeXtmProjects(java.util.List<java.lang.String>
>>> projectIds) throws IncorrectProjectIdsException    {
>>>         throw new IncorrectProjectIdsException("Exception on
>>> server", projectIds.get(0));
>>>     }
>>>
>>> Client code:
>>>         java.util.List<java.lang.String>
>>> _removeXtmProjects_projectIds = new ArrayList<String>();
>>>         _removeXtmProjects_projectIds.add("hello");
>>>         try {
>>>             port.removeXtmProjects(_removeXtmProjects_projectIds);
>>>
>>>         } catch (IncorrectProjectIdsException e) {
>>>             System.out.println("Expected exception:
>>> IncorrectProjectIdsException has occurred.");
>>>             System.out.println(e.toString());
>>>             System.out.println(e.getFaultInfo());
>>>         }
>>>
>>>
>>> What got printed out:
>>> Expected exception: IncorrectProjectIdsException has occurred.
>>> com.xmlintl.webservice.integration.IncorrectProjectIdsException:
>>> Exception on server
>>> hello
>>>
>>>
>>> Thus, it looks like it's fixed.
>>>
>>> Dan
>>>
>>> On Monday 22 October 2007, Piotr PiBis Berlowski wrote:
>>>> Hi,
>>>>
>>>>    We consider this issue to be a huge blocker for a major project.
>>>> When a user-defined exception is thrown by the server, a client
>>>> receives a SOAPExceptionFault (with the message that belonged to
>>>> the user-defined exception). CXF version is 2.0.2. You can find
>>>> generated exception class, exception details class and relevant
>>>> parts od wsdl attached to this message.
>>>>
>>>> If any more information is required, I will be more than happy to
>>>> post it. We are really stuck with this!
>>>>
>>>> Thanks in advance, and best regards!

Reply via email to