• dandante
  • NEWBIE
  • 0 Points
  • Member since 2006

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 6
    Questions
  • 2
    Replies
Hello,

I am looking for more traditional database-like behavior in Salesforce and have looked through the documentation but have not found answers to my questions. It could be I am looking in the wrong places and would appreciate pointers to the correct information.

Specific questions:
1) I'd like to make it impossible to create a Lead if a Campaign (or campaign id) is not included in the create call. I can do this programmatically, but is there a way to enforce this in the SF web app?

2) I added a custom field called Region to the Campaign object. There is also a custom Region object. I want to enforce the rule that a Campaign MUST have 1 *or more* regions associated with it. How can I do that? Again, I can enforce it in my code, but people may be adding campaigns using the SF UI. Is there a way I can enforce it there?

Thanks


Hi All,

I read all the threads about this but I'm still having this issue.
I've been developing an application and it runs fine under tomcat.

When I deploy it under Websphere Community Edition 1.0.1.1, my login to salesforce fails with the following exception message:
nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
And part of the stack trace:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at com.sforce.soap.partner.SoapBindingStub.login(SoapBindingStub.java:1062)

Here's the url that I'm trying to connect to:
https://www.salesforce.com/services/Soap/u/7.0

It's the same URL in tomcat and websphere.

Please note that tomcat and websphere are running under the exact same JDK, namely Sun 1.4.2_11.

Most of the threads about this error say you can solve it by upgrading your JDK. I am already running the highest 1.4x JDK and Websphere does not run (as far as I can tell) under java 1.5x.

Other threads had instructions about upgrading the certificates stored in JAVA_HOME/jre/lib/security/cacerts. I followed those instructions to the letter and that did not help or change the situation--the app still works on Tomcat 5.0.28 but not Websphere.

Hope someone can help. I am developing this app under tomcat but it needs to be deployed to websphere.




Hello, if I log in to my salesforce developer account and click on Setup/Customize/Leads/Add a custom field to leads, it shows me the existing standard and custom fields for the Lead object. In particular it shows a Name field but no FirstName or LastName fields.

However, if I write code to call describeSObjects on the Lead object, and iterate through the fields, there is no Name field. However,  there are LastName and FirstName fields.

Similarly, the API documentation documents the FirstName and LastName fields but not the Name field.

Why does the web interface show different fields than describeSObjects? And, are there any other places where the two lists of fields differ?

Thanks

I created a custom field called TestCheckbox. I specified that it was to be unchecked by default.

In my code when I look at the Field object associated with this field, its type shows up as "boolean. There doesn't seem to be an obvious way to find out what the default state of the checkbox is supposed to be.

I am writing a component to render a checkbox and I want it to check the box if it is supposed to be on by default. I'm sure I'm missing something obvious. How do you do that?

Maybe I should step back for a second and ask a larger question. I want to build a component that automatically generates a form for all the fields in a Lead object. If a field is a checkbox, I want to render a checkbox. If the field is text, I want to render a textbox, etc. Is this possible? So far I have run into a couple hurdles including the one above.

Another issue is: How do you create a group of radio buttons?
The approach I took was to use a picklist, since a select list and a group of radio buttons are the same thing from the server's point of view. But I need to tell my code whether I want it rendered as a radio button group or drop down list. So I put the word "radio" in the Description field when I created the field.
But now it looks like I can't get to the Description field from the Field object in my code.

Any ideas?

Thanks

Message Edited by dandante on 04-14-2006 04:00 PM

Hello, is there a limit to the number of custom fields that can be added to a standard object (Lead in this case)?
And if so, what is it?
Does the limit differ between free developer accounts and enterprise accounts?

Thanks

Hi,

I am building a Java salesforce app for a client. It is designed in such a way that the client can create their own forms, hosted at their own server, and then submit them to my app (which will be hosted elsewhere on their own server).

All the app does is create leads based on form input, it looks at the form items and figures out which fields to populate in the Lead object. So you could have a hundred different forms, all asking for different sets of fields, and the app would figure out how to save the leads. This part is not yet implemented but may use reflection.

We have told the client that it would be no problem for them to create custom fields, but now that I see how this is done, it does pose a problem. They can't just create a custom field and then include it in a form. These manual steps have to take place first:

-They notify me that they have created a new custom field
- I download the wsdl and run Wsdl2Java
- I don't have to change any of my own code because it is smart enough
  to generate method calls by itself based on form item names.
- I recompile the app code, package it into a WAR,
- and redeploy that WAR on the remote server.

This is not really an acceptable solution. I'd like to give them an app that will just work. It looks like in the Ruby API, you can just pass a hash to the create statement, making all of the above steps unnecessary. Is there anything similar in the Java API?

Hope someone can help.
Thanks.

Hi All,

I read all the threads about this but I'm still having this issue.
I've been developing an application and it runs fine under tomcat.

When I deploy it under Websphere Community Edition 1.0.1.1, my login to salesforce fails with the following exception message:
nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
And part of the stack trace:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at com.sforce.soap.partner.SoapBindingStub.login(SoapBindingStub.java:1062)

Here's the url that I'm trying to connect to:
https://www.salesforce.com/services/Soap/u/7.0

It's the same URL in tomcat and websphere.

Please note that tomcat and websphere are running under the exact same JDK, namely Sun 1.4.2_11.

Most of the threads about this error say you can solve it by upgrading your JDK. I am already running the highest 1.4x JDK and Websphere does not run (as far as I can tell) under java 1.5x.

Other threads had instructions about upgrading the certificates stored in JAVA_HOME/jre/lib/security/cacerts. I followed those instructions to the letter and that did not help or change the situation--the app still works on Tomcat 5.0.28 but not Websphere.

Hope someone can help. I am developing this app under tomcat but it needs to be deployed to websphere.




Hi,

I am building a Java salesforce app for a client. It is designed in such a way that the client can create their own forms, hosted at their own server, and then submit them to my app (which will be hosted elsewhere on their own server).

All the app does is create leads based on form input, it looks at the form items and figures out which fields to populate in the Lead object. So you could have a hundred different forms, all asking for different sets of fields, and the app would figure out how to save the leads. This part is not yet implemented but may use reflection.

We have told the client that it would be no problem for them to create custom fields, but now that I see how this is done, it does pose a problem. They can't just create a custom field and then include it in a form. These manual steps have to take place first:

-They notify me that they have created a new custom field
- I download the wsdl and run Wsdl2Java
- I don't have to change any of my own code because it is smart enough
  to generate method calls by itself based on form item names.
- I recompile the app code, package it into a WAR,
- and redeploy that WAR on the remote server.

This is not really an acceptable solution. I'd like to give them an app that will just work. It looks like in the Ruby API, you can just pass a hash to the create statement, making all of the above steps unnecessary. Is there anything similar in the Java API?

Hope someone can help.
Thanks.