On Thu, Feb 10, 2011 at 5:15 PM, StephanDiplom
<[email protected]> wrote:
> Am 10.02.2011 13:53, schrieb George Niculae:
>>
>> On Thu, Feb 10, 2011 at 1:52 PM, StephanDiplom
>> <[email protected]>  wrote:
>>>
>>> Am 10.02.2011 12:27, schrieb George Niculae:
>>>>
>>>> On Thu, Feb 10, 2011 at 12:47 PM, StephanDiplom
>>>
>>>
>>> "2011-02-10T11:44:57.259000Z":3:JAVA:WARNING:sipx.ketelsen.iant.local:P1-15:00000000:LoggerListener:"Authentication
>>> event AuthenticationSuccessEvent: superadmin; details:
>>> org.acegisecurity.ui.WebAuthenticationDetails@b364: RemoteIpAddress:
>>> 141.41.40.142; SessionId: 1q03ektws6g9r"
>>>
>>> but the SOAP-response says:
>>>
>>> <soapenv:Envelope
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>>> <soapenv:Body>
>>> <soapenv:Fault>
>>> <faultcode>soapenv:Server.userException</faultcode>
>>> <faultstring>java.lang.NullPointerException</faultstring>
>>> <detail>
>>> <ns1:hostname
>>>
>>> xmlns:ns1="http://xml.apache.org/axis/";>sipx.ketelsen.iant.local</ns1:hostname>
>>> </detail>
>>> </soapenv:Fault>
>>> </soapenv:Body>
>>> </soapenv:Envelope>
>>

You hit NPE at m_bridge.getSettings(); line because  m_bridge is null.
You should load the bridge based on the hostname where you want the
conference to be created.

My advice is to send the hostname where you want the conf to be
created in ConferenceData (update sipxconfig.wsdl, add yet another
element).
Inject ConferenceBridgeContext in SystemServiceImpl (by adding
setConferenceBridgeContext method and adding a new property to the
SystemService bean inside services-servlet.xml file - <property
name="conferenceBridgeContext" ref="conferenceBridgeContext" />).
In SystemServiceImpl.createConference:
- create a new conf by calling ConferenceBridgeContext.newConference()
- instead instantiating / initializing a conference and set the unique
id
- load the bridge using
ConferenceBridgeContext.getBridgeByServer(String hostname) and set it
on conference (conference.setBridge(Bridge))
- set name, description, extension, owner received in ConferenceData
(as you already did)
- save conference by calling ConferenceBridgeContext.store(Conference)
(mind that even you'll see the conference in admin UI, it won't be
active until you issue a reload on FS service)

Also, it would be better to create a new Conference Service instead
using the System Service for saving conferences...

George
_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev/

Reply via email to